Предоставленный фрагмент кода Java начинается с метода getExtractedDataMap, который вызывает метод setExtractedDataToMap. Это сбивает с толку, потому что соглашения Java диктуют, что геттеры извлекают значения, а сеттеры их изменяют, что делает геттер, вызывающий сеттер, нетрадиционным. Метод setExtractedDataToMap преобразует объект PayloadDto в Map. Метод getExtractedDataMap затем просто действует как ненужный посредник. Основная проблема заключается в том, что это два плохо названных метода, где достаточно одного хорошо названного метода.Более серьезной проблемой является преобразование объекта Java в Map, что является запахом кода, указывающим на дискомфорт с объектно-ориентированными принципами. Это преобразование не оправдано для целей сериализации, так как Java имеет встроенные сериализаторы, которые обрабатывают это прозрачно. Сами DTO предназначены для легкой сериализации данных. Автор выражает недоумение по поводу цели этого кода, повторяя мнение разработчика, который его обнаружил. Изначальный разработчик также отказался от попыток понять рабочий процесс, для которого этот код предназначался.
getExtractedDataMap, который вызывает методsetExtractedDataToMap. Это сбивает с толку, потому что соглашения Java диктуют, что геттеры извлекают значения, а сеттеры их изменяют, что делает геттер, вызывающий сеттер, нетрадиционным. МетодsetExtractedDataToMapпреобразует объектPayloadDtoвMap. МетодgetExtractedDataMapзатем просто действует как ненужный посредник. Основная проблема заключается в том, что это два плохо названных метода, где достаточно одного хорошо названного метода.Более серьезной проблемой является преобразование объекта Java вMap, что является запахом кода, указывающим на дискомфорт с объектно-ориентированными принципами. Это преобразование не оправдано для целей сериализации, так как Java имеет встроенные сериализаторы, которые обрабатывают это прозрачно. Сами DTO предназначены для легкой сериализации данных. Автор выражает недоумение по поводу цели этого кода, повторяя мнение разработчика, который его обнаружил. Изначальный разработчик также отказался от попыток понять рабочий процесс, для которого этот код предназначался.