더북(TheBook)

2.2.5 점성

개발자가 특정 요구 사항을 달성하려고 체계적인 프로세스를 채택하는 대신 설계 악취가 발생하는 꼼수에 의존하는 이유는 점성 때문이다.[79] 점성에는 소프트웨어 점성과 환경 점성이라는 두 가지 유형이 있다. 소프트웨어 점성은 올바른 해법을 문제에 적용하는 과정에서 반드시 직면하는 ‘저항’(예 : 늘어나는 노력과 시간)을 의미한다. 반면에 꼼수는 시간과 노력을 적게 요구하므로(즉, ‘낮은 저항’) 개발자가 꼼수에 의존하기 쉬워 결국 설계 악취가 발생한다.

환경 점성은 우수 관례를 따르려면 반드시 극복해야 할 소프트웨어 개발 환경 때문에 발생하는 ‘저항’을 의미한다. 개발 환경이 느리고 비효율적이며 우수 관례를 따르는 시간과 노력이 많이 든다면, 개발자들은 나쁜 관례에 의존할 것이다. 환경 점성을 일으키는 원인은 개발 프로세스, 재사용 프로세스, 조직 요구 사항, 법적인 제약을 포함한다.

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