켄트 벡의 구현 패턴

Publish date: 2008-02-14
Tags: java pattern 구현-지침

Table of contents

  1. 감상
  2. 정리

감상

2022-09-19

얼마 전에 차민창님을 만나서 최근 ‘구현 패턴'을 다시 읽으니 이전과는 또 다른 느낌이 든다는 이야기를 들었다. 나도 오랜만에 이 책을 펼쳐보니 책 날개에 있는 문장부터 많은 생각을 떠올리게 한다. TDD by exmaple도 두번째 읽었을때 처음 읽었을때 놓힌 것이 이렇게 많았는지 놀랬던 기억이 있다.

켄트백은 함축적, 추상적인 표현으로 추구하는 가치나 감정에 대한 이야기를 종종 한다. 경험이 쌓일수록 그런 문구에서 떠오르는 영감이 더 커지는듯하다. 전형적인 개발자는 다들 그러하듯이, 난 구체적인 표현을 좋아한다. 예를 들면 어떤 기술이 ‘가볍다’, ‘무겁다'라는 표현조차도 모호해서 불만스럽다. 책도 예제 코드가 적으면 지루하게 느껴진다. 중/고등학교 때 사람마다 다르게 해석될수 있는 ‘시'도 싫어했었다.

그런데 시간이 갈수록 추상적, 함축적인 표현이 가진 힘도 크다는 것을 느낀다. 얼마전 화제가 된 허준이 교수님의 졸업식 축사를 두고 어떤 냉철한 친구는 도대체 요점이 뭔지 잘 모르겠다는 이야기를 했다. 난 그 축사는 글의 종류가 ‘시'라고 느꼈다. 읽는 사람이 자신의 경험과 감정을 바탕으로 해석하고 몇개 문장만 마음에 담아도 좋은 글이라고 생각했다. 내면의 경험/감정/생각이 많은 사람일수록 그 축사가 감명깊었을 것 같다.

‘무례와 혐오와 경쟁과 분열과 비교와 나태와 허무의 달콤함에 길들지 말길, 의미와 무의미의 온갖 폭력을 이겨내고 하루하루를 온전히 경험하길,'..

어른들이 나름 절실하게 했던 조언들을 나는 진부하고 모호하다는 이유로 많이 흘려보냈고, 앞으로도 많이 그럴 것 같다.

정리

55쪽

한정적 하위 클래스 이름 … 이 경우에도 결국 간결성과 풍부한 표현성 사이의 고민이다.

101쪽

따라서 타핑이 쉬운 쪽보다는 읽기 쉬운 쪽이 좋다. … 역할 제시형 작명 … 컴파일러에 이미 타입 정보를 알려줬는데, 그 정보를 다시 변수 이름에 포함해서 무엇을 얻을 수 있단 말인가?

117쪽

보호절

128쪽

(메서드) 의도 제시형 이름 Customer.linearCustomerSearch(String id) -> Customer.find(String id)

comments powered by Disqus