
아키텍처
코드 품질 개선 기법 21편: 생성자를 두드려 보고 건너라
두줄요약
준비되지 않은 인스턴스를 잘못 사용하는 문제를 다뤘습니다. 초기화 시 준비, 지연 준비, 타입 분리를 통해 안전한 API 설계를 제안했습니다.
핵심 내용
- 준비되지 않은 상태의
FooVideoPlayer가 잘못 사용되면 예외가 발생하는 문제 - 잘못 사용 자체를 막기 위해 초기화 시 준비, 첫 호출 시 지연 준비, 준비 전후 타입 분리 같은 대안 제시
- 생성자에 복잡한 로직이나 부작용이 많을 때는 팩토리 함수나
lazy활용 고려
적용해볼 점
- 준비 완료 전에는 사용할 수 없는 상태를 타입이나 API 구조로 드러내기
- 비용이 큰 초기화는 호출 시점 제어 가능성까지 함께 검토하기