더북(TheBook)

2.5.3 악취를 문서화하는 템플릿

악취 기술 목적으로 통일된 템플릿을 채택하여 다양한 설계 악취를 일관성 있게 기술했다. 책에서는 표 2.4에 제시한 템플릿을 사용하여 모든 악취를 기술한다.

 

▼ 표 2.4 책에서 사용하는 설계 악취 템플릿

템플릿 구성 요소

설명

이름과 설명

명명 방식을 기반으로 간결하면서도 직관적인 이름(두 단어로 구성, 첫 번째 단어는 형용사, 두 번째 단어는 위반된 주요 설계 원칙)을 사용한다. 이름 뒤에는 가능한 형태와 더불어 설계 악취를 간결하게 기술하는 내용이 이어진다.

근거

잘 알려진 설계 원칙과 요소 기술이라는 맥락에서 바라본 설계 악취에 대한 이유와 타당성(설계 원칙을 자세히 나열한 목록은 부록 A 참조)

잠재적인 원인

이 냄새의 출현과 관련하여 전형적인 원인 목록(모든 내용을 시시콜콜 나열하지 않은, 경험을 바탕으로 하는 목록)

예제

악취를 강조하는 한 가지 이상의 예제다. 악취가 여러 형태로 드러나며, 구체적인 예제를 사용하여 각 형태를 기술할 수도 있다.

리팩토링 제안

설계 악취를 리팩토링하는 고차원 제안·단계와 예제 절에서 설명한 각 예제를 대상으로 가능한 리팩토링 제안을 포함한다.

영향을 받는

품질 속성

악취로 부정적인 영향을 받는 설계 품질 속성이다. 악취 맥락 관점에서 설명에 포함된 설계 품질 속성 집합은 이해 가능성, 변경 가능성, 확장 가능성, 재사용 가능성, 테스트 가능성, 안정성(표 2.1 참조)을 포함한다.

다른 이름

설계 악취를 기술하려고 문헌에서 문서화된 다른 이름이다. 이는 기본적으로 동일하지만, 문헌에서 다르게 표현한 다른 악취 변종을 포함한다. 변종은 설계 악취의 특수한 형태나 더 일반적인 형태를 포함할 수 있다.

현실적인 고려

사항

때로는 언어나 플랫폼 제한과 같은 제약 때문에, 또는 전체 설계에서 더 큰 문제를 해소하려고 실제 맥락에서 악취를 일으킨 특정 설계 결정을 의도적으로 내릴 수 있다. 이 절은 이런 고려 사항을 시시콜콜 나열하지 않은 목록 형태로 제공한다.

 

3~6장까지는 추상화, 캡슐화, 모듈화, 계층 원칙을 위반하는 악취를 설명한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.