코드 품질 개선 - 세션 38: 마스터 키는 어디에 있는가?
·2025.07.18 11:00
여러 개의 Map이나 List에 분산된 연관 데이터를 하나의 데이터 클래스로 통합하여 코드의 안정성을 높이는 방법을 설명한다.
여러 개의 Map(messageTextMap, backgroundColorIntMap 등)을 사용하여 동일한 Key(MessageId)에 대응하는 서로 다른 속성들을 관리할 경우, 데이터 간의 암시적 관계가 발생한다. 이는 타입 시스템이 데이터 간의 연결성을 보장하지 못하기 때문에 발생하며, 사양 변경 시 버그를 유발할 위험이 크다.
이러한 문제를 해결하기 위해서는 연관된 속성들을 하나의 데이터 클래스(UiAttributes)로 묶고, 이를 단일한 Map(Map<MessageId, UiAttributes>)으로 관리해야 한다. 이렇게 하면 데이터 간의 관계가 명시적으로 변하여 코드의 견고함이 향상된다.
이 원칙은 속성뿐만 아니라 다른 영역에도 적용 가능하다.
- List 간의 관계: 인덱스로 연결된 두 개의 리스트 대신, 하나의 리스트에 페어(Pair) 객체를 담아 관리한다.
- 함수 인자 및 반환값: 인덱스로 매핑되는
List<Id>와List<Element>대신,Map<Id, Element>를 사용하여 관계를 명확히 한다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.