1. 코드 품질2. 추상화 계층3. 다른 개발자와 코드 계약4. 오류5. 가독성 높은 코드를 작성하라6. 예측 가능한 코드를 작성하라7. 코드를 오용하기 어렵게 만들라8. 코드를 모듈화하라Ch10. 단위 테스트의 원칙11. 단위 테스트의 실제