호환성 결 → 인터페이스 결 → 테스트 결 → 문서화 결
코드 라이브러리에 새로운 기능을 추가할 때 저는 기존 기능과의 호환성을 먼저 확인합니다. 새 기능이 기존 기능의 동작에 영향을 주면, 사용 중인 팀이나 서비스에 예상치 못한 오류가 생깁니다. 호환성 자리에서는 기존 함수 시그니처를 유지하면서 선택적 파라미터로 새 동작을 추가하는 방식을 선호합니다. 인터페이스 자리에서는 명확하고 일관된 인터페이스 설계가 라이브러리 사용자가 새 기능을 쉽게 이해할 수 있게 합니다. 기존 인터페이스 패턴을 따라가면 학습 비용이 줄어듭니다. 테스트 자리에서는 새 기능에 대한 유닛 테스트와 엣지 케이스 테스트를 작성합니다. 라이브러리는 다양한 방식으로 쓰이기 때문에, 예상 외 입력에 대한 동작도 명확하게 정의해두는 것이 중요합니다. 문서화 자리에서는 기능 설명뿐 아니라 사용 예시와 주의사항을 함께 씁니다. 코드보다 문서를 먼저 보는 사용자가 많습니다.