[2부 7번 수필] 단일 지점 제어
실용주의 프로그래머에서 앤드류 헌터와 데이비드 토머스는 '중복의 해악'이라는 제목으로 DRY(Don't Repeat Yourself)라는 규칙을 강조한다.
모든 지식은 시스템 내에서 단일하고, 애매하지 않고, 정말로 믿을만한 표현 양식을 가져야 한다.
헌터와 토머스에 따르면 DRY 원칙은 코딩은 물론이고 코딩과는 전혀 상관없는 여러 문맥(예: 문서화)에서도 나오며, '실용주의 프로그래머' 도구 상자에서 가장 중요한 도구라고 말한다.
'실용주의 프로그래머'를 읽고나서 DRY에 대해 감탄한 분들도 많으셨을텐데... 사실 로버트 L. 글래스 큰형님이 한 걸음 빨랐다. 글래스는 보잉 밀리터리 에어크래프트 사에서 일하는 친구 리 맥로렌의 말을 빌어 '단일 지점 제어'를 강조한다.
단일 지점 제어는 여러 곳에서 해야할 일을 한 곳에서 해결한 후 필요한 곳에서 참조하는 방법이다.
그리고 '단일 지점 제어' 원칙이 소프트웨어 공학의 기본 원리 후보로 추천하고, 프로그래밍 개념을 넘어서 문서와 데이터베이스 설계에도 적용된다는 사실을 언급한다.
때로 '소프트웨어 컨플릭트 2.0이 진부하고 시대에 뒤떨어진 내용을 담고 있다고 말하는 사람을 보게 되는데, 생각이 진부한지 표현이 진부한지 예가 진부한지 너무나도 궁금하다. 핵심은 생각이므로 표현이나 예에 휘둘리지 말자.
"소프트웨어 컨플릭트 2.0: 시대를 뛰어넘는 즐거운 논쟁" 역자 박재호 올림
라벨: 단일 지점 제어, 소프트웨어 컨플릭트, 중복, DRY


