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