코드 품질 개선 - 세션 58: 말로 다 표현할 수 없는 것들
·2025.12.19 11:00
코드 내의 암묵적인 의존 관계를 함수나 클래스 단위로 격리하여 런타임 오류를 방지해야 한다.
정규 표현식과 이를 사용하는 파싱 로직이 분리되어 있으면, 정규식을 수정할 때 파싱 함수가 이를 인지하지 못해 런타임 오류가 발생할 수 있다. 이는 코드 간의 **암묵적 기대(implicit expectation)**가 명시적이지 않기 때문에 발생하는 문제다.
이러한 문제를 해결하려면 암묵적 관계를 클래스나 함수 내부로 격리해야 한다. 예를 들어, 정규식과 파싱 로직을 별도의 객체로 나누기보다 하나의 전용 파서(Parser) 클래스 안에 묶어 관리하는 것이 바람직하다.
암묵적 관계는 다음과 같은 다양한 상황에서 나타난다.
- 쌍을 이루는 로직: 직렬화와 역직렬화,
await와notify등 - 함수 호출 순서:
setup→execution→teardown등 - 플레이스홀더: UI 텍스트나 SQL 쿼리의 개수 및 타입
- 데이터 상태: 암호화된 문자열과 평문, 이스케이프 처리 여부 등
가장 이상적인 방법은 **타입(Type)**을 통해 관계를 명시하는 것이지만, 그것이 어렵다면 관계를 함수, 클래스, 모듈 단위로 제한하거나 단위 테스트 및 문서화를 통해 보완해야 한다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.