Как уменьшить код Java Boilerplate с помощью Lombok

Пишите меньше шаблонного кода Java с Lombok

Java — широко используемый язык программирования. Для этого есть множество причин: Java довольно стабильна, существует большая экосистема Java, и многие разработчики изучают Java как свой первый язык программирования (например, в университете). Я тоже начал с Java. Сначала основы Java, затем Java для приложений Android и, наконец, серверная Java.

Распространенная жалоба на Java заключается в том, что вам нужно написать много кода, чтобы добиться чего-то. Если у вас есть опыт работы с такими языками, как Python или JavaScript, то написание кода Java иногда может показаться немного утомительным. Шаблон — это термин, используемый для описания кода, который повторяется во многих частях приложения с небольшими изменениями. Типичный Java-проект нередко выделяет сотни строк кода под шаблон, необходимый для определения простых классов данных. Эти классы обычно содержат несколько полей, геттеров и сеттеров для этих полей, а также реализации equals и hashCode.

Если вы начинаете новый проект, вы можете выбрать язык, который требует меньше кода для достижения целей. Однако в более крупных проектах нельзя просто переключиться на другой язык программирования. Коллега посоветовал нам рассмотреть возможность использования Project Lombok, чтобы писать меньше шаблонного кода в проектах Java. Недавно мы создали новый микросервис, основанный на Java, поэтому я подумал, что это хорошая возможность опробовать Project Lombok.

Встречайте Project Lombok

Проект Ломбок (сокращенно Ломбок) направлен на уменьшение количества шаблонного кода с помощью простого набора аннотаций. Интегрируясь в вашу IDE, Lombok может внедрить код, который сразу становится доступным для разработчика. Например, простое добавление аннотации @Data к классу данных приводит к появлению ряда новых методов, таких как сеттеры и геттеры в среде IDE. В простейших сценариях Project Lombok может сократить эти классы до необходимых полей и одной аннотации @Data.

Lombok поддерживает множество популярных IDE, таких как IntelliJ IDEA, Visual Studio Code и Eclipse. Если вы решили внедрить Lombok в свой Java-проект, вашим коллегам также необходимо настроить Lombok в своей среде IDE. После настройки вы можете использовать аннотации, предоставленные Lombok.

См. также:  Исследование InvalidProgramException из дампа памяти (часть 2 из 3)

Однако Lombok не превратит Java в совершенно новый язык. В конце концов, это все еще код Java, но вы избегаете написания большого количества шаблонного кода и тем самым экономите время. Вы можете легко познакомить Lombok с новыми или существующими проектами. Для более зрелых проектов можно начать использовать Lombok для нового кода, а затем постепенно переносить существующий код.

Класс Vanilla Java против класса Java с Lombok

Во-первых, давайте взглянем на типичный класс данных Java. На первый взгляд, это уже похоже на большой объем кода для простого класса. В конце концов, этот класс, представляющий пользователя, содержит только поле типа List. Вы увидите, насколько больше этот класс может стать, если мы начнем вводить больше полей, таких как имя, адрес электронной почты и т. Д.

Давайте посмотрим, как мы можем упростить приведенный выше код с помощью Lombok. Мгновенно вы можете увидеть, что кода задействовано гораздо меньше. Не указаны геттеры, сеттеры, конструкторы или _6 _ / _ 7_ методы. Вместо этого используются аннотации типа @Data. С меньшим количеством кода цель и функциональность класса Java становятся более понятными для любого, кто читает исходный код.

Если вы включили поддержку Lombok в своей среде IDE и начнете печатать, вы увидите, что все это действительно есть. Например, мы можем получить разрешения пользователя, вызвав new UserDataWithLombok().getPermissions(). Добавление нового поля (например, имени) может быть выполнено в одной строке благодаря Lombok.

Lombok предоставляет больше аннотаций, так что не стесняйтесь их проверять!

Заключение

Спасибо за то, что прочитали этот небольшой пост о том, как Project Lombok может помочь нам писать меньше шаблонного кода в проектах Java. В нашем случае внедрение Lombok окупилось, поскольку нужно писать меньше шаблонного кода. Лично я бы как можно раньше представил Lombok в проектах Java.

См. также:  Запуск конвейера Apache Beam в проекте Spring Boot в потоке данных Google

Знаете ли вы другие способы добиться большего с меньшим количеством кода на Java? Дай мне знать в комментариях.

Понравилась статья? Поделиться с друзьями:
IT Шеф
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: