Chapter 32 응집도
- 응집도 의미
- 결합된 요소들은 같은 요소의 하위 요소여야 한다.
- 같은 요소의 하위 요소가 아니라면 다른 곳으로 이동해야 한다.
- 예를 들어 10개 함수가 포함된 모듈이 있다고 가정하고 그 중 3개 함수가 결합되어 있으면 나머지 7개는 어디로 가야할까?
- 첫 번째 방안은 결합된 요소를 자체 하위 요소로 묵는 것
- 세 함수만 포함된 하위 모듈을 만들 수 있다.
- 원래 모듈은 이제 결합된 요소가 없어 응집도가 떨어질 수 있지만 더 나빠지진 않을 것이다.
- 도우미 함수 추출이 ‘응집도 있는 하위 요소 추출’ 접근 방식인 것
- 응집도가 있으면 분석과 변경이 쉽고 동작 변경에 대한 가능성이 줄어든다.
- 두 번째 방안은 결합되지 않은 요소를 다른 곳에 배치하는 것
- 함수의 형제들을 찾아 더 가깝게 이동
- 하위 모듈을 하나 만들어 그 안에 넣자
- 이러한 정리는 즉흑적으로는 시도하면 안 된다.
- 한 번에 하나씩 이동하라
- 결합에 대한 불완전하고 변화하는 정보를 가지고 작업하면 안 된다.