코드 오류: Getter Setter Getter 노트

코드 오류: Getter Setter Getter

제공된 Java 코드 조각은 getExtractedDataMap 메서드로 시작하며, 이 메서드는 setExtractedDataToMap 메서드를 호출합니다. Java 관례상 getter는 값을 검색하고 setter는 값을 변경하므로, getter가 setter를 호출하는 것은 관례에 어긋나 혼란스럽습니다. setExtractedDataToMap 메서드는 PayloadDto 객체를 Map으로 변환합니다. 그런 다음 getExtractedDataMap 메서드는 단순히 불필요한 중간자 역할을 합니다. 핵심 문제는 잘 이름 지어진 단일 메서드로 충분한 상황에서 두 개의 이름이 잘못된 메서드라는 것입니다.더 심각한 문제는 Java 객체를 Map으로 변환하는 것인데, 이는 객체 지향 원칙에 대한 불편함을 나타내는 코드 스멜입니다. Java에는 이를 투명하게 처리하는 내장 직렬화기가 있으므로 이 변환은 직렬화 목적으로 정당화되지 않습니다. DTO 자체는 쉬운 데이터 직렬화를 위해 설계되었습니다. 작성자는 이 코드의 목적에 대해 혼란스러움을 표현하며, 이를 발견한 개발자의 심정을 반영합니다. 원래 개발자도 이 코드가 의도된 워크플로우를 이해하려는 시도를 포기했습니다.