정의를 외웠는지가 아니라, 결합과 응집을 어떤 신호로 감지하고 둘이 충돌할 때 어디를 먼저 손대는지 기준이 있는 사람인지를 가르려는 질문이다.
결합도는 한 모듈이 다른 모듈의 내부 사정에 얼마나 묶여 있는지, 응집도는 한 모듈 안의 코드가 하나의 책임에 얼마나 모여 있는지를 가리킨다. 결합이 높으면 한 군데를 고칠 때 멀리 떨어진 코드까지 같이 깨지고, 응집이 낮으면 그 모듈이 무엇을 하는 놈인지 한 줄로 답하기 어렵다. 둘은 짝으로 움직인다 — 책임을 한 곳에 모으면(응집 ↑) 자연히 다른 모듈이 알아야 할 표면이 좁아지고(결합 ↓), 결합을 낮추려고 인터페이스를 추가하면 그 경계 안에서 다시 응집이 흩어지지 않게 챙겨야 한다. 그래서 둘 중 하나만 보고 설계 품질을 단정할 수 없다.
prop drilling을 컨텍스트나 컴포지션으로 끊어본 경험이 있다면, 그 전후 PR 파일 수 변화를 결합 축소의 실제 신호로 연결할 수 있다
거대 훅을 책임 단위로 쪼갠 뒤 단위 테스트 작성이 쉬워진 경험이 있다면, 응집도 회복이 테스트 용이성과 직결된다는 사례로 풀 수 있다
전역 상태 도입 후 예상치 못한 회귀 버그가 늘었던 경험이 있다면, 결합이 "보이지 않게" 커지는 패턴과 묶어 설명할 수 있다
리팩터링 이후 기능 추가 PR의 변경 파일 수가 줄었다면, 그 숫자 자체를 결합도 개선의 정량 신호로 제시할 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.