
작은 일도 무시하지 않고 최선을 다해야 한다. 작은 일에도 최선을 다하면 정성스럽게 된다. 정성스럽게 되면 겉에 배어 나오고, 겉에 배어 나오면 겉으로 드러나고, 겉으로 드러나면 이내 밝아지고, 밝아지면 남을 감동시키고, 남을 감동시키면 이내 변하게 되고, 변하면 생육된다. 그러니 오직 세상에서 지극히 정성을 다하는 사람만이 나와 세상을 변하게 할 수 있는 것이다.
- 영화 <역린> 상책의 대사
코드는 개발자 생각의 반영입니다. 코드가 논리적으로 흘러가는 방식은 개발자의 머릿속에서 일어난 생각을 그대로 드러내는 법이죠. 그래서 자기가 원하는 알고리즘을 정확히 이해한 개발자는 대체로 읽기 쉬운 코드를 작성하고, 그렇지 않으면 읽기 어려운 코드를 작성합니다. 하지만 알고리즘의 이해가 전부는 아닙니다. 의미가 잘 전달되는 코드를 작성하려면 코드의 겉모습도 신경 써야 합니다. 알고리즘이 코드의 내용이면, 코드의 겉모습은 곧 형식입니다.
- 한빛앤 대표이사 임백준
이 책은 '어떻게 할지'가 아닌 '어떻게 생각할지'에 초점을 맞춘 책입니다.
만 단어를 작성한 후, 한 권의 책으로 소프트웨어 설계의 모든 것을 다룰 수는 없다는 중요한 교훈을 얻었습니다. 제가 초고를 작성할 때, 계속 떠오르는 시나리오 중 하나가 바로 소규모 설계의 순간이었습니다. 지저분한 코드가 잇는데 이 코드를 바로 변경해야 할까, 아니면 코드 정리를 먼저 해야 할까?
제 책 쓰기 경험은 항상 이런 식이었습니다. 일단 책 한 권으로 쓰기에는 너무 작아 보이는 주제를 잡습니다. 그리고 씁니다. 책으로 쓰기에는 큰 주제임을 깨닫습니다. 너무 작다 싶은 조각으로 또 나눕니다. 다시 씁니다. 아직도 너무 큰 것임을 발견합니다. 이 과정을 반복합니다.
Chapter 1 보호 구문
Chapter 2 안 쓰는 코드
Chapter 3 대칭으로 맞추기
Chapter 4 새로운 인터페이스로 기존 루틴 부르기
Chapter 5 읽는 순서
Chapter 6 응집도를 높이는 배치
Chapter 7 선언과 초기화를 함께 옮기기
Chapter 8 설명하는 변수
Chapter 9 설명하는 상수
Chapter 10 명시적인 매개변수
Chapter 11 비슷한 코드끼리
Chapter 12 도우미 추출
Chapter 13 하나의 더미
Chapter 14 설명하는 주석
Chapter 15 불필요한 주석 지우기
Chapter 16 코드 정리 구분
Chapter 17 연쇄적인 정리
Chapter 18 코드 정리의 일괄 처리량
Chapter 19 리듬
Chapter 20 얽힘 풀기
Chapter 21 코드 정리 시점
1) 코드 정리 x
2) 정리를 나중으로 미루세요
3) 동작 변경 후에 정리하세요
4) 코드 정리 후에 동작 변경을 하세요
켄트 백의 Tidy first 라는 책을 많이 들어는 봤는데 이런 내용들을 포함하고 있었군요. 코드가 정리하고 싶어질 때, 읽어보고 싶네요! 좋은 글 써주셔서 감사합니다.