Skip to Content
먼저 정리하기?
book

먼저 정리하기?

by Kent Beck
May 2025
Beginner to intermediate
124 pages
1h 17m
Korean
O'Reilly Media, Inc.
Book available
Content preview from 먼저 정리하기?

32장. 응집력

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

결합된 요소는 동일한 포함 요소의 하위 요소여야 합니다. 이것이 응집력의 첫 번째 의미입니다. 모든 거름을 하나의 더미에 삽으로 밀어 넣습니다. 응집력의 두 번째 의미는 분뇨가 아닌 요소(결합되지 않은 요소)는 다른 곳으로 가야 한다는 것입니다.

예를 들어 10개의 함수가 포함된 모듈이 있다고 가정해 보겠습니다. 그 중 3개 함수가 결합되어 있습니다. 나머지 7개는 어디로 갈까요? 두 가지 옵션이 있습니다(그림 32-1).

tifi 3201
그림 32-1. (위) 응집력 있는 하위 요소를 추출하거나 (아래) 결합되지 않은 하위 요소를 다른 곳으로 이동하여 개선된 비응집성 요소

첫 번째는 결합된 요소를 자체 하위 요소로 묶는 것입니다. 세 가지 함수만 포함된 서브모듈을 만들 수 있습니다. 이 하위 모듈은 요소들이 결합되어 있기 때문에 응집력이 있을 것입니다. 원래 모듈은 이제 결합된 요소가 없기 때문에 응집력이 떨어질 수 있지만, 이전보다 더 나쁘지는 않을 것입니다.

도우미 함수를 추출하는 것은 이런 종류의 "응집력 있는 하위 요소 추출" 접근 방식입니다. 도우미 함수의 라인이 함께 변경되어야 하는 경우 도우미는 응집력이 있으며, 응집력에서 오는 모든 이점(분석 용이, 변경 용이, 우발적인 동작 변경에 대한 저항성)을 누릴 수 있습니다.

두 번째 옵션은 결합되지 않은 요소를 가져와 다른 곳에 배치하는 것입니다. 어디로요? 바로 여기서 디자이너가 될 수 있습니다. 이 함수들은 무엇과 결합되어 있을까요? 함수를 형제에게 더 가깝게 이동하세요. 서로 결합되어 있나요? 다른 서브모듈을 만들어 그 안에 넣으세요.

갑자기 움직이지 마세요. 무엇이 무엇과 결합되어 있는지에 대한 불완전하고 변경된 정보로 작업하고 있습니다. 모든 것을 급격하게 재배치하지 마세요. 한 번에 한 요소씩 이동하세요. 다음 사람을 위해 코드를 더 깔끔하게 정리하세요. 모두가 스카우트 규칙("발견한 상태보다 더 나은 상태로 남겨두기")을 따른다면 시간이 지날수록 코드가 더 살기 좋은 상태가 될 것입니다.

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

코드 밖 커뮤니케이션

코드 밖 커뮤니케이션

재퀴 리드
실리콘밸리 리더십

실리콘밸리 리더십

김정혜, 마이클 롭
프로그래머의 길 멘토에게 묻다

프로그래머의 길 멘토에게 묻다

David Hoover, Adewale Oshineye, Kang Jung Bin

Publisher Resources

ISBN: 9798341659704