더- 크린- 코더
By Robert C. Martin
1986년 1월 28일, 챌린저 우주왕복선이 폭발하는 사고가 발생한다.
원인은, 나사에 고무파킹이 있는데, 가스가 새는 것을 막아주는 역할을 하는 것이었다.
근데, 이게 어떤 온도 이하에서는 쓰면 안되는 고무였던 것이다.
하지만 엔지니어들은 이를 알면서도 막지 않았다. (정확히는 막으려 했지만 막혔다)
이것처럼 엔지니어는 안되면 안된다고 막아서야한다는 것이다. 강행한다고 그냥 힘없이 그저 있는게 아니라.
1. 프로정신
프로의 마음가짐 = 책임지는 자세가 필요하다
코드의 기능에 대해서는 이런 자세를 가져라
- 오류에 책임지는 자세 => 오류 사절
- 완벽은 불가능하지만, 완벽하지 않아도 괜찮은 건 아니다.
- 프로답지 못한 행동
- 확신이 없는 코드를 QA에 보내는 일 (QA는 오류찾는 부서가 아님)
- QA나 고객이 오류를 찾는 걸 분하고 부끄러워 해야 함
- 테스트는 Test Suite를 만들어 모조리 자동화!
- 테스트하기 쉽게 코드 설계: TDD (테스트 작성 -> 코드 작성)
코드의 구조에 대해서는 이런 자세를 가져라
- 구조가 좋아야 코드가 유연해진다.코드가 유연해야 변경 비용이 낮아진다.
- 소프트웨어 설계 원칙과 패턴을 준수한다.
- 구조는 꾸준히 개선해야 한다. (보이스카웃 원칙)