Вниз  Project Lombok — война Broilerplate-коду
- 5.11.2014 / 15:51copy  #375025
Oak
  Пользователь

Oak 
Сейчас: Offline
http://projectlombok.org/
Для уставших писать бесконечные геттеры/сеттеры в три строчки и перегруженные классы-контейнеры в стиле
  1. public class ThisObject{
  2.     private String name;
  3.     private int index;
  4.  
  5.     public ThisObject(String name, int index){
  6.         this.name = name;
  7.         this.index = index;
  8.     }
  9.  
  10.     public String getName(){
  11.         return name;
  12.     }
  13.  
  14.     public void setName(String name){
  15.         this.name = name;
  16.     }
  17. }

Пользуюсь очень давно и очень рад.
Размер у неё большой, это да, но это библиотека времени компиляции, и в рантайме она не нужна.
Для работы в NetBeans надо включить "разрешить обработку аннотаций в редакторе" на вкладке "Выполнение" в свойствах проекта.
__________________
 Эль Презеденте

Изменено Oak (5.11 / 16:13) (всего 4 раза)
- 5.11.2014 / 15:59copy  #375027
Virus-ON
  Пользователь

Virus-ON 
Сейчас: Offline
Project lobok... Чёрт, project lobok, а не, всё норм, project Lombok.
Бан от Magatino:
Причина: Оффтоп
- 5.11.2014 / 16:08copy  #375031
RblSb
  Пользователь

RblSb 
Сейчас: Offline
this.name = name;
зачем? мы же и так передаем в параметре переменную, смысл тогда в параметрах.
- 5.11.2014 / 16:10copy  #375033
Oak
  Пользователь

Oak 
Сейчас: Offline
RblSb, расширил код в первом посте, чтобы было понятнее
__________________
 Эль Презеденте
- 5.11.2014 / 16:12copy  #375034
RblSb
  Пользователь

RblSb 
Сейчас: Offline
Oak, а, ну я просто не называю одинаково переменные и не приходится ничего переопределять и все счастливы.
- 5.11.2014 / 16:14copy  #375035
Oak
  Пользователь

Oak 
Сейчас: Offline
RblSb, ну, даже не знаю, что надо написать, чтобы стало понятнее. Если коротко — проблема не в this.name = name;
__________________
 Эль Презеденте

Изменено Oak (5.11 / 16:15) (всего 2 раза)
- 5.11.2014 / 16:16copy  #375036
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Oak, На генерирование конструктора, и геттера/сеттера в нетбинсе уходит максимум 30 секунд. На подключение этой штуки намного больше. А если учесть, что при каждой компиляции, часть времени будет затрачивать на обработку аннотаций, то выигрыша мы никакого толком и не имеем.

RblSb, дело отнюдь не в именах. Надо же как-то присвоить полям класса значения извне. Пусть хоть так будет, проблема останется:
  1. Main(int i, int k) {
  2.     num1 = i;
  3.     num2 = k;
  4. }

__________________
 let live

Изменено aNNiMON (5.11 / 16:19) (всего 1 раз)
- 5.11.2014 / 16:18copy  #375038
Magatino
  Администратор

Magatino 
Сейчас: Online
RblSb (05.11.2014/16:12)
Oak, а, ну я просто не называю одинаково переменные и не приходится ничего переопределять и все счастливы.
Вообще то тебе с такими вопросами сюда.
А переопределять придёться, если будешь писать свои библиотеки.
- 5.11.2014 / 16:20copy  #375039
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Magatino, RblSb, ребята, о чём вы? Какие переопределения?
__________________
 let live
- 5.11.2014 / 16:22copy  #375040
Oak
  Пользователь

Oak 
Сейчас: Offline
aNNiMON, правая кнопка по проекту -> подключить библиотеку -> lombok -> работает для всего проекта

А дальше пиши @AllArgsConstructors, @Data, @Getter, @Setter и тд в любом классе проекта.

Будет занимать секунд пять от силы — для того, чтобы нажать Ctrl-Space после @Ge :)
__________________
 Эль Презеденте

Изменено Oak (5.11 / 16:27) (всего 1 раз)
Наверх  Всего сообщений: 24
Фильтровать сообщения
Поиск по теме
Поиск по форуму
Новые вверху
  © aNNiMON (Melnik Software)
Онлайн: 30 (3/27)
 
Яндекс.Метрика