실용주의 프로그래머
드디어 실용주의 프로그래머를 다 읽었다.
영어공부에 대해 이야기하다가 사수에게 한글로 책을 읽고 원서로 한번 더 읽는 방법을 추천받아 이 책까지 빌리게 되었는데 1챕터 읽고 멈췄었다...
하지만, 2019년 읽을 도서 목록으로
실용주의 프로그래머 -> 이펙티브 자바 -> 클린코드 -> ...more
으로 정하여서 2019년 1월 - 약 1달에 걸쳐서 다 읽게 되었다.
사실..1월말 까지 책을 돌려줘야해서 살짝 급하게 읽었다. 중간에 대충 읽은 부분도 많다.
이 책은 어디선가 보고 들은 개발자가 가져야할 생각이나 명심해야할 것들을 모아놓은 책 느낌이었다. 그래서 더 읽는데 속도가 붙을 수 있었던 것 같았다. 책을 사서 다시 읽어봐도 좋을 듯 하다.
그땐 또 다른 느낌점들과 깨닫는 것들이 생길 것 같다.
인상깊은 문장 메모
- 자신의 일에 대해 생각하면서 일해라!
- 깨진 창문(나쁜설계, 잘못된 결정, 혹은 형편없는 코드)을 고치지 않은 채로 내버려 두지 마라.
- 큰 그림에 늘 주의를 기울여라. 개인적을 무엇을 하고 있는가에만 정신을 쏟지 말고, 주변에서 무슨일이 벌어지는지 지속적으로 살펴보라.
- DRY - Don't Repeat Yourself
- 관련 없는 것들 간에 서로 영향이 없도록 하라. (직교성 강조하고 있음)
- 최종 결정이란 없다. (유연성강조)
- 언제나 소스코드 관리 시스템을 사용하라.
- 가장 속이기 쉬운 사람은 자기 자신이다.
- 가정하지 마라. 증명하라.
- 단정문을 사용해서 불가능한 상황을 예방하라.
- 시작한 것은 끝내라.
- 모듈간의 결합도를 최소화하라.
- 통합하지 말고 설정하라.
- 코드에는 추상화를, 메타데이터에는 세부 내용을.
- <의도적으로 프로그래밍하기>
- 정말로 제대로 돌아가는 것이 아닐지도 모른다. 우리에게만 그런 것처럼 보일 수도 있다.
- 신뢰할 수 있는 것에만 기대라. 우연한 일이나 가정에 의존하지 말라.
- 기존 코드가 아픙로 짤 코드를 지배하도록 놓아두지 말라. 더 이상 적절한 코드가 아니라고 생각되면, 어떤 코드라도 교체할 수 있다.
- 어떤 것이 잘돌아가는 것처럼 보이기는 하는데 그 이유를 모를 경우, 그것이 우연은 아닌지 반드시 확인하라.
- 일찍 리팩터링하고, 자주 리팩터링 하라.
- 리팩터링과 새로운 기능 추가를 동시에 하지마라.
- 리팩터링 전 테스트 집합이 있는지 먼저 확인하라.
- 단계를 작게 나누어서 신중하게 작업하라. 단계가 끝날 때마다 테스트를 돌려라.
- 테스트 코드를 쉽게 접근할 수 있게 해놓는 것은 앞으로 코드를 사용할지 모르는 개발자들에게 매우 귀중한 자원 2가지를 제공하는 것이다.
- 모듈의 모든 기능을 어떻게 이용하야 하는지 보여주는 예제
- 후일 코드 변경 시 검증하기 위한 희귀 테스트를 구축할 수 있는 수단
- 주석에 나오지 말아야 할 것들의 목록
- 파일 내의 코드가 export하는 함수들의 목록
- 리비전 기록
- 이 파일이 사용하는 파일 목록