Благодаря недавним достижениям Java, несомненно, модернизировалась. Однако разработчики по-прежнему воспринимают некоторые аспекты, особенно многословие и шаблонный код, как чрезмерные по сравнению с другими языками программирования.
Распространенным примером является моделирование сущностей с использованием Spring Data или Micronaut Data с JPA:
Код: Выделить всё
@Entity
public class Role extends EntityMetadata {
private String name;
private String description;
// Create getter/setter constructor and other things
}
Lombok как решение
Lombok эффективно решает эту проблему:
Код: Выделить всё
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Entity
public class Role extends EntityMetadata {
private String name;
private String description;
}
Компромисс:
Основным недостатком является использование сторонней библиотеки, которую некоторые команды предпочитают избегать из соображений удобства сопровождения или инструментов в долгосрочной перспективе.
Записи и их ограничения
Во многих Java В ходе конференций и дискуссий в сообществе архитекторы часто рекомендуют использовать записи Java. Хотя записи являются мощным дополнением, они имеют ограничения, особенно в корпоративном контексте.
Например:
Код: Выделить всё
@Entity
public record Role(String name, String description) extends EntityMetadata {
}
Подход Quarkus
Команда Quarkus представила интересную и удобную для разработчиков альтернативу:
Код: Выделить всё
@Entity
public class Role extends EntityMetadata {
public String name;
public String description;
}
Мы все знаем, что с платформой JAVA ведется множество проектов, однако эти мелочи имеют огромное значение для внедрения разработчиками. Вот почему JAVA до сих пор славится слишком многословием и шаблонным кодом.
Экосистема Java продолжает расти, при этом активно развиваются многочисленные фреймворки и платформы. Однако, казалось бы, незначительные проблемы, такие как многословие и шаблонность, оказывают существенное влияние на опыт разработчиков и их принятие.
Подробнее здесь: https://stackoverflow.com/questions/798 ... ds-it-back
Мобильная версия