독후감 - 2018년 12월

리팩토링: 코드 품질을 개선하는 객체지향 사고법

리팩토링 표지 이미지

프로그램의 가치를 높이는 코드 정리 기술

많은 분들이 추천해서 관심이 가던 차에 가볍게 읽으려고 샀던 것 같다. 처음에는 분명 엄청 만족스럽게 읽기 시작했는데, 후반부에는 조금 띄엄띄엄 적당히 읽었다. 왜 리팩토링을 해야하는지, 왜 이렇게 바꿔야 하는지, 어떻게 안정감을 얻을 수 있는지 상세하고 꼼꼼하게 소개한다.

그런데 카탈로그식 구성이라서 중후반부터는 한장 한장 모든 것이 의미있다기 보다는 - 굳이 없다고도 할 수 없지만 - 왜 이런 선택을 하는지 가이드를 받을 수 있는 수준이라고 보면 되겠다. 계속 반복되는 패턴이라 (실무에서 리팩토링이 익숙하게 될 것인가와는 별개로) 책의 전개가 뻔히 보이기 때문에 후반부는 크게 영양가가 없었다는 느낌이다. 다시 읽어보면 다르려나?

이를 토대로 실무에서 다루는 코드를 리팩토링 하는 스터디를 한다면 매우 좋을 것 같다. 실제로 이 책을 읽은 후에 리팩토링을 더 조심스레 하게 되기도 했던 것 같고, 후련한 커밋도 몇개 날렸더랬다.

책의 구성은 정말 옛날 책이란 걸 느끼게 해주고, 코드 들여쓰기나 띄어쓰기가 잘못된 부분도 있고, 어색한 번역도 보였던 것 같다.

저자는 리팩토링 방법을 카탈로그로 만들어 이름을 붙여놓고 책 곳곳에서 참조하고 있다. 일단 번역을 한번 해놓은 단어라서 눈에 잘 들어오지도 않고, 실무에서 그런 용어를 쓸 일도 없기 때문에 적당히 걸러 봐야 한다. 책을 읽는 방법을 추천하라면, 앞부분은 주의깊게 읽고 카탈로그는 도입부를 읽고 바로 예제부터 보라고 하겠다. 예제가 오히려 설명보다 읽기가 수훨하다.

최고의 팀은 무엇이 다른가

최고의 팀은 무엇이 다른가 표지 이미지

다른 책은 전부 물에 던져 버려라!

왜 하필 물에 던져야 하는지는 잘 모르겠다만, 최고의 팀이 되는 비결을 비교적 간단하게 전파한다.

CTO님이 추천했으니 열어나 봤지. (4차 산업혁명이란 말을 표지에 꺼내 놓는 류의 책처럼) 제목만 보면 질려서 읽기 싫은 책이었는데, 서점에서 한번 훑어보고 바로 들고 왔다(물론 샀다). 예쁘고(색깔이 좀 들어갔다는 의미) 가볍고 여백도 충분해서 읽기 좋았기도 하고.

책에서 말하는 최고의 팀이 되는 비결은,

  • 안정감을 느끼는 것
  • 서로 이어져 있다는 신호를 쏘는 것
  • 아날로그 소통법
  • 공간의 힘
  • 내 부족한 것을 보여주는 것
  • 협동의 근육 만들기
  • 질문을 잘하는 문화
  • 공동의 이정표
  • 중요한 가치에 이름 붙이기
  • 등등

정확히 저런 소제목은 아니고, 대충 목차보고 골라본 것이다. 이 목록만 보면 아주 진절머리가 날 지경인데, 이게 다 대대로 내려오는 꼰대들이 ‘꼭 필요하다’고 주장하는 것들이다. 초반에 소개되는 안정감을 느끼는 것 등은 비교적 최근에 구글 문화를 통해 좀 널리 퍼지긴 했으나, 다른 모든 항목은 이미 어지간한 중견회사라면 인사팀(요즘은 피플팀이라고 하던가)이나 대표가 입이 침이 마르도록 강조하는 것들이다. 작가는 저런 행동강령이 어색하지만 생활화되면 효과를 발휘한다는 이야기를 곳곳에서 하고 있다.

그런데 이 책이 좋은 점은 저런 내용을 별 거부감 없이 받아들이게 해준다는 점이다. 실제 사례를 중심으로 관찰 결과를 소개할 뿐이지 훈계하지 않는다는 점이 새로웠던 것 같다.

최고의 팀이 되는 방법을 우리는 이미 알고 있다고 봐야 하지 않으려나? 나는 그 사람들의 시도가 뭐가 그렇게 싫었는지 잘 생각해봐야겠다.