이펙티브 소프트웨어 설계

  1. 도입
  2. 코드 중복 대 유연성 - 코드 중복이 항상 나쁘지만은 않다
  3. 코드에서 신경 꺼야 할 예외와 오유 처리 패턴
  4. 유연성과 복잡성 사이의 균형
  5. 섣부른 최적화 대 핫 코드 경로의 최적화: 코드 성능에 영향을 미치는 의사 결정
  6. API를 유지보수하기 위한 비용 대 단순함
  7. 날짜와 시간 데이터로 효율적으로 작업하기
  8. 컴퓨터에서 데이터 지역성과 메모리 활용하기
  9. 외부 라이브러리: 사용하는 라이브러리가 곧 코드가 된다
  10. 분산 시스템에서의 일관성과 원자성
  11. 분산 시스템에서의 배송 의미론
  12. 버전과 호환성 관리하기
  13. 최신 유행을 따르는 방식 대 코드 유지보수 비용을 줄이는 방식