코드 품질 개선 기법 5편: 나쁜 열거가 좋은 계층을 몰아낸다

코드 품질 개선 기법 5편: 나쁜 열거가 좋은 계층을 몰아낸다

9
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

나쁜 열거가 좋은 계층을 몰아낸다

이 게시물은 열거형(enum) 사용 시 발생할 수 있는 문제점과 이를 해결하는 코드 품질 개선 기법에 대해 설명합니다.

문제의 핵심

  • 열거형의 name이나 ordinal 속성을 직접 사용하면 외부에서 정의된 값과 내부 코드가 강하게 결합되어 변경 시 버그가 발생할 수 있다.
  • 열거형에 새로운 항목을 중간에 삽입하거나 이름을 변경하면 외부 데이터와의 매핑에 문제가 생긴다.

해결 방안

  • 외부에서 사용하는 값을 열거형의 속성으로 분리해 정의하여 내부 열거형 이름과 순서를 변경해도 외부 값에 영향이 없도록 한다.
  • 컨버터 클래스를 별도 정의하여 외부 값과 내부 열거형 간 변환을 담당하게 하여 부패 방지층 역할을 수행한다.

예외

  • 임시 변환이나 인메모리 캐시 등 외부 값과 직접 연동하지 않는 경우에는 name이나 ordinal 사용이 큰 문제가 되지 않을 수 있다.