더북(TheBook)

다시 말해, 설계 악취는 설계 구조에서 잠재적인 문제를 야기한다. 의학 부문에도 이 설계 악취와 관련된 유사한 비유가 있다. 환자의 증상을 ‘악취’에 비유할 수 있는데, 그 원인인 질병은 구체적인 ‘설계 문제’와 비슷하다.

마찬가지로 이런 비유는 진단 과정으로 확장할 수 있다. 예를 들어, 의사는 증상을 분석하고, 증상의 근본 원인이 되는 질병을 알아내어 치료 방법을 제안한다. 마찬가지로 설계자는 설계에서 풍기는 악취를 분석하고, 악취의 근본 원인이 되는 문제를 판단한다. 그리고 문제를 해결하는 데 필요한 리팩토링을 파악한다.

설계 악취를 소개했으니 이제 악취를 제거하는 설계 리팩토링*이 왜 중요한지 질문할 차례다.

이 질문에 대한 대답은 기술 부채Technical Debt에서 찾을 수 있다. 기술 부채라는 용어는 지난 몇 년간 소프트웨어 개발 공동체에서 상당한 주목을 받아 왔다. 소프트웨어 개발자는 기술 부채의 기본 사항을 숙지함으로써 프로젝트 진행 과정에서 매일 내려야 하는 설계 결정의 지대한 영향력을 이해할 수 있다. 따라서 지금부터는 기술 부채를 심도 있게 다룰 것이다.

 

 


* 책에서 사용한 ‘리팩토링’ 용어는 ‘행동 양식을 유지하는 프로그램 변환’을 의미한다.

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