Ответ
Да, я активно предлагаю улучшения. Пример: на проекте с ручным маппингом DTO в сущности я инициировал внедрение MapStruct для автоматизации этого процесса.
Проблема:
// Ручной маппинг — много шаблонного кода, риск опечаток
User user = new User();
user.setFirstName(dto.getFirstName());
user.setLastName(dto.getLastName());
user.setEmail(dto.getEmail().toLowerCase());
// ... 10+ полей
Решение:
- Обосновал выгоду: сокращение кода, повышение производительности (маппинг на этапе компиляции), типобезопасность.
- Предложил и реализовал POC.
Реализация с MapStruct:
@Mapper
public interface UserMapper {
UserMapper INSTANCE = Mappers.getMapper(UserMapper.class);
@Mapping(target = "email", expression = "java(dto.getEmail().toLowerCase())")
User toEntity(UserDto dto);
}
// Использование
User user = UserMapper.INSTANCE.toEntity(dto);
Результат: Код маппинга сократился на ~70%, исчезли ошибки из-за опечаток, добавление новых полей стало безопаснее.