9. 단위 테스트
• 원칙
– 테스트 케이스 하나당 하는일은 하나
• 외부에서 보았을 때
– 학습 테스트(라이브러리를 파악하는 좋은 방법)
• 테스트는 유연성, 유지보수성, 재사용성을
제공
10. 함수
• 원칙
– 함수 하나당 하는일은 하나
– 중복 코드는 하나의 함수로
• 함수 parameter는 가능한 작게
• NULL 반환도 하지 말고 전달도 하지 말도록
• error 반환 보다는 exception handling
• 함수 이름은 그 안에서 일어나는 모든 것을
표현하도록
11. 클래스
• 원칙
– 클래스가 하는 일은 하나
– 중복되는 로직은 polymorphism으로 해결
– Interface, abstract class
• 클래스는 작아야 한다.
– Cohesion
12. 동시성
• 원칙
– 동시성 방어 원칙
• 라이브러리를 이해하라
– Concurrent Queue
• 실행 모델을 이해하라
– 생산자-소비자
– 읽기-쓰기
13. 주석
• 코드로 의도를 표현
• 코드로 표현할 수 없는 것
– 법적인 주석
– TO DO
14. 변화에 대처하는 우리들의 자세
• 책의 구성
– 반정도는 실제 코드 변화과정
– 지루함
– 당위성 설명
• 실제로 해보고 느껴보기