더북(TheBook)

4.3 잘 다듬고 테스트한 블록을 쌓아 믿음직한 코드 작성하기

 

에릭 감마(Erich Gamma), 리처드 헬름(Richard Helm), 랠프 존슨(Ralph Johnson), 존 블라시디스(John Vlissides)가 지은 명저 《GoF의 디자인 패턴: 재사용성을 지닌 객체 지향 소프트웨어의 핵심요소(프로텍미디어, 2015)》는 확실히 유용하다고 검증된 23개 패턴을 이용하여 개발자가 올바른 방향으로 소프트웨어를 제작할 수 있게 해준다. 소프트웨어가 사라지지 않는 한 이 패턴들은 계속 쓰이리라.

그런데 어떤 노래 가사를 다른 나라 언어로 번안할 때 글자 그대로 옮기면 감정을 제대로 표현하기 어려워서 어쩔 수 없이 아름다움, 리듬, 운율을 잘 살리고자 다른 말을 지어내게 된다. 마찬가지로 《디자인 패턴》 책에 나오는 구상 클래스(concrete class)와 추상 클래스(abstract class) 사이의 구별 문제를 추상 요소와 클래스 개념이 없는 자바스크립트 언어로는 적당히 옮길 말을 찾기 어렵다. 이러한 정통 패턴을 자바스크립트 언어로 표현하는 방법을 5장부터 이야기할 것이다.

반대로, 자바스크립트에서는 흔히 사용되지만, 고전 언어에서는 잘 사용되지 않는 새로운 패턴도 알아본다.

전체적인 관점에서 보면 패턴은 후반부에 불과하며, 전반부에는 항상 테스트가 자리한다(명심하길, 항상 테스트가 먼저다). 지극히 간단한 패턴이라도 테스트를 거치지 않으면 엉망이 된다는 사실을 경험으로 터득했다. 패턴이 코드로 정확하게 잘 옮겨졌는지는 오직 테스트를 통해 장담할 수 있다.

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