How to read Martin Fowler's Refactoring


That’s cheating

수학 공부할 때도 problem 읽자마자 냅다 페이지 뒤로 넘겨 solution 엿보지 않는 것처럼, 지저분한 코드(as a problem)가 주어졌을 때 바로 마틴 파울러의 생각(as a solution)을 훔쳐보지 말고 그 전에 앞서 스스로 고민해보는 과정이 필요하다. 성장은 단위 기술의 사용법을 익히거나, 단순 지식을 암기하는 데서 이루어지지 않는다. 마틴 파울러의 ‘답안’들을 참고하고, ‘공식’들을 암기한다고 성장하진 않는다는 이야기이다. 성장은 주어진 문제에 대한 깊은 고민, 그 성찰의 시간으로부터 이루어진다.

Passive skill

사실 자의이든 타의이든, 코드 리뷰에 익숙해진 사람은 책의 예시 코드 첫머리를 읽기 시작한 그 순간부터 이게 그저 도서의 예시 코드였다는 사실을 망각하고 동료의 PR을 리뷰하듯 자연스레 이곳 저곳 뜯어 보게 된다. 이 태도를 패시브 스킬로 얻을 때까진 의식적으로 ‘타인의 코드를 보면 멈추고 잠시 스스로 고민해보는 장치’를 두도록 하자.