С трудом и болью перенес один из проектов на 9, на 10 не смог — отваливаются библиотеки. А теперь 9 не поддерживается, на 8 обратно переходить — как-то тупо. Так и сижу на 9.
Очень напомнило компанию, гдя я был разработчиком. Все решения обязательно согласовывались с самым главным в компании, от позиции элементов на странице до выделения денег на конференции.
Ну ещё ломбок генерит конструкторы, и это круто работает с новым Спрингом — можно писать private final поля, Ломбок сгенерит конструктор и спринг через конструктор вставит бины.
Да ладно. И ещё кучей вещей не пользоваться. Сидеть на голой джаве.
Есть подозрение, что сломан не только Lombok. Просто он самый первый в цепочке компиляция-запуск. И дальше я пока не прошел, проще подождать немного, пока пофиксят.
В прошлый раз, уже после выхода 9, были проблемы у jooq. Logstash вроде бы до сих пор на 9 не запускается.
Так в чем разница между тимлидом и SEM? Судя по комментариям, это многим не ясно. Что мешает сделать тимлида ответственным за узкое направление? Надуманная разница
Да, нарушает инкапсуляцию создающего класса: чтобы понять, что означают поля Pair, нужно будет заглянуть внутрь создающего класса. Либо же тогда делать Pair частью контракта и описывать явно в JavaDoc. Но если это часть контракта, тогда надо делать это явно и завести ещё один DTO.
Pair нарушает инкапсуляцию. Это знание, какое поле что означает, все равно есть, только в неявном виде. Гораздо более правильно (true OOP ;) ) это знание определить явно, в виде класса. Скорее всего, оно все скаляризуется и класса там не будет вообще. Для уменьшения кода мы используем Lombok.
Правильно, единым, а не вермишель из js и Java кода.
Да ладно. Дороже, чем время программиста, который будет разбираться через год в этих хаках и говнокоде?
Я ещё не видел web проект, где производительность упирается в именно стоимость вызова. Обычно это доли процента.
Не очень понятно: это в браузере выполняется? Ведь страница html открывается в браузере. Откуда там Java?
Получается, для каждого нового сокета будет заново создана вся цепочка, начиная с файловой системы. Как-то избыточно.
С трудом и болью перенес один из проектов на 9, на 10 не смог — отваливаются библиотеки. А теперь 9 не поддерживается, на 8 обратно переходить — как-то тупо. Так и сижу на 9.
Очень напомнило компанию, гдя я был разработчиком. Все решения обязательно согласовывались с самым главным в компании, от позиции элементов на странице до выделения денег на конференции.
В этом случае мы пишем конструктор.
Ломбок — молоток, шурупы им не закручиваем.
Если в проекте гвоздей нет — то Ломбок и не нужен. Нам лично, в нашем проекте — он помогает.
Так я же 10 для себя попробовал :)
На личном проекте, где 9 работает.
Но там Ломбок больше по привычке.
На работе — 8, там Ломбок работает отлично.
Это же не тру ООП!
Ну ещё ломбок генерит конструкторы, и это круто работает с новым Спрингом — можно писать private final поля, Ломбок сгенерит конструктор и спринг через конструктор вставит бины.
Да ладно. И ещё кучей вещей не пользоваться. Сидеть на голой джаве.
Есть подозрение, что сломан не только Lombok. Просто он самый первый в цепочке компиляция-запуск. И дальше я пока не прошел, проще подождать немного, пока пофиксят.
В прошлый раз, уже после выхода 9, были проблемы у jooq. Logstash вроде бы до сих пор на 9 не запускается.
Блин, похоже, удел ынтырпрайза — LTS :(
Мы начали его использовать, когда поля постоянно менялись, была такая дикая фаза. Сейчас поспокойней, но Lombok как-то прижился.
Объекты надо любить! Раз в год бывает нужда таки расширить геттер или сеттер и вставить проверку, например.
Насколько это оправдывает геттеры/сеттеры — хз.
К примеру, Lombok не работает.
Java 8, кое-где 6.
9 только на своих проектах. Но она сырая, куча библиотек и приложений на ней не работает. Вот последний пример — logstash.
Где — выше? Какой комментарий?
Так в чем разница между тимлидом и SEM? Судя по комментариям, это многим не ясно. Что мешает сделать тимлида ответственным за узкое направление? Надуманная разница
Если -m 150m выделит оперативной 150, то почему Xmx должен быть 75? Почему не 140, например?
Почему --memory должен быть в 2 раза больше -Xmx?
Да, нарушает инкапсуляцию создающего класса: чтобы понять, что означают поля Pair, нужно будет заглянуть внутрь создающего класса. Либо же тогда делать Pair частью контракта и описывать явно в JavaDoc. Но если это часть контракта, тогда надо делать это явно и завести ещё один DTO.
Pair нарушает инкапсуляцию. Это знание, какое поле что означает, все равно есть, только в неявном виде. Гораздо более правильно (true OOP ;) ) это знание определить явно, в виде класса. Скорее всего, оно все скаляризуется и класса там не будет вообще. Для уменьшения кода мы используем Lombok.