|
|
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Что мешает ставить @CompileStatic? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2015, 12:06 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
В IDEA генерация методов есть, пару секунд времени занимает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2015, 23:25 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Valery Shiskin, У меня печальные новости. Я очень большой фанат груви. Я обожаю груви для написания скриптов и всегда использовал этот язык, когда мне надо было данные с сайта скачать, логи распарсить или обработать табличные данные. Вот вчера я скачал Eclipse Mars и поставил на него groovy-eclipse. И с удивлением обнаружил, что автокомплит в пустом грувёвом проекте - не работает. Пошукав по интернетам, я обнаружил, что codehaus мертв, груви никем толком не поддерживается и не развивается, с groovy-eclipse разбежались все девелоперы. Scala я уже знаю, а для более простых задач придется учить питон... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 10:18 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Еще можно JS взять. Стильно, модно, молодежно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 10:54 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Alexander A. Sak, насколько я знаю, там до сих пор печаль с типичнейшими задачами. Как можно брать в качестве рабочего язык, где в комплекте даже коллекций приличных нет? Я немного не в теме, но есть ли стандарт или хотя бы общеиспользуемые либы для: - List, Set, Map, sorted map, linked map с компаратором? equals в яваскрипте не предусмотрен же. - рекурсивного обхода дерева каталогов - прочитать файл в массив байт или в строку с указанием кодировки - запарсить CSV, JSON, XML (нужен и DOM, и потоковые парсеры) - парсинга HTML - полноценный HTTP клиент ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 12:18 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
z3r9В IDEA генерация методов есть, пару секунд времени занимает. Это "write-only" разработка. Проблема не в скорости набора бойлерплейт-кода, а в его наличии. Писать легко, поддерживать тяжко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 16:10 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
scfScala я уже знаю Я здесь выпал в осадок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 16:29 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
scfAlexander A. Sak, насколько я знаю, там до сих пор печаль с типичнейшими задачами. Как можно брать в качестве рабочего язык, где в комплекте даже коллекций приличных нет? Я немного не в теме, но есть ли стандарт или хотя бы общеиспользуемые либы для: - List, Set, Map, sorted map, linked map с компаратором? equals в яваскрипте не предусмотрен же. - рекурсивного обхода дерева каталогов - прочитать файл в массив байт или в строку с указанием кодировки - запарсить CSV, JSON, XML (нужен и DOM, и потоковые парсеры) - парсинга HTML - полноценный HTTP клиент Я имел в виду JS в виде скриптового языка в Java. Rhino или Nashorn. Там, естественно, доступно все наследие Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 17:59 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
z3r9В IDEA генерация методов есть, пару секунд времени занимает. В наше время It-сегмент переосмысливает то что было создано в двухтысячные. А в двухтысячные было создано много ложных направлений. Например кодогенерация в средах. Наплодили огромную тучу неподъёмного сорца. Сегодня никто не хочет рефакторить или реверсить старый сорц. Дешевле иногда новое написать. Современный Веб ищет лаконичности. И все направления в исследовании применения языков ФП (F#, Scala, Ruby) это эхо поисков. Языки сокращают свой синтаксис. Выбрасывают то что совершенно правильно было названо бойлер-плейтом. Посмотрите вебинары и конференции по Java. Трендом является лаконичность. Я видел фреймворки которые специально писались под Groovy. Даже попытки перенести скриптовый JS на сервер - это тоже определённый тренд. Тренд на объективное уменьшение объёма кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 18:59 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
scf, Тем не менее, новые версии груви выходят, оракловцы делают в java9 поддержку более легкого лоадинга-анлоадинга скриптов - это для всех скриптовых языков, и тд и тп. Просто, проект переехал на апач. Ну так в этом виноваты все любители груви - надо было активней покупать поддержку. А то как пользоваться - так очередь выстраивается, а как оказать материальную помощь авторам - так "оно ж бесплатное". Скала сложная, медленная, и язык это не скриптовой. Вобщем, на любителя штука. На большого любителя. ИМХО, груви будет жить, потому что критическое кол-во нормального софта на нем уже написано, программисты его полюбили, а лучшей альтернативы нет и не будет еще какое-то время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 19:00 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Еще что мега-удобно в ломбоке - это наличие @Cleanup аннотации, которая трансформирует код, как будто он написан в стиле try-with-resources. Благодаря этому можно избавиться от некрасивой вложенности, и писать в "плоском" стиле как-то так: Код: java 1. 2. 3. 4. 5. 6. 7. Особенно удобно это когда пишешь что-то хитрое, и получается много уровней вложенности и страдает читаемость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2015, 15:42 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
chabapok, а как со стрек-трейсами ошибок и дебагом? а то в eclipse удобство работы с лямбдами страдает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2015, 16:16 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
chabapokЕще что мега-удобно в ломбоке - это наличие @Cleanup аннотации, которая трансформирует код, как будто он написан в стиле try-with-resources. Благодаря этому можно избавиться от некрасивой вложенности Особенно удобно это когда пишешь что-то хитрое, и получается много уровней вложенности и страдает читаемость. наверное, но именно в кетче иногда удобно сделать "ход конем" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2015, 16:59 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
pavel_nvchabapok, а как со стрек-трейсами ошибок и дебагом? а то в eclipse удобство работы с лямбдами страдает... А что может быть не так со стектрейсами и дебагом? Я пользуюсь ли идеей или нетбинсом. к коду блока finally, который генерится, прикрепляется метаинформация, о том, что этот блок находится в той строке, где стоит эта аннотация, поэтому, когда мы попадаем в сгенеренное finally, то среда прыгает подсвеченой строкой на соответствующую строку. Провел я тут исследовательскую работу. Есть следующий момент. Сгенеренная подчистка (насколько я представляю) могла бы выглядеть как-то так: Код: java 1. 2. 3. 4. 5. 6. 7. Lombok зачем-то делает хитрее: Код: java 1. 2. 3. 4. 5. 6. 7. 8. Я не знаю, зачем он так извращается, видимо это какая-то совместимость со старыми версиями java. Где-то писали, что это уход от каких-то предупреждений. JIT-компилятор по идее, всю эту гадость должен убрать, к тому же на производительность она все равно не влияет, т.к. блок try исполняется редко. Так же писали, что эта гадость говняет jacoco-репорты, и делает недостижимым 100% покрытия, потому что внутри singletonList().get() не выходит воспроизвести IndexOutOfBoundsException. Наверное, в очень больших проектах это может быть критично, но насколько понимаю, всем пофиг. У этих двух вариантов следующая проблема: если будет брошен экзепшен внутри try, а потом close() тоже бросит экзепшен, то наверх уйдет тот, который бросился внутри close(), а исключение в логике будет утеряно. try-with-resurces эту проблему решает более аккуратно, выпуская наверх исключение брошенное в логике, а исключение из в finally может быть внутри него: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Впринципе, да, согласен, что try-with-resources аккуратнее обращается с исключениями, но наверху как правило все равно ты это все не достаешь и не анализируешь так пристально. И если логика бросает исключение и close() бросает...ну хз конечно, но скорей всего, в этом случае все настолько плохо, что правильной работой с исключениями ситуацию не исправить. Хотя конечно, ситуации разные могут быть. rema174наверное, но именно в кетче иногда удобно сделать "ход конем" ну, если нужен catch, то понятно, что нужен явно прописаный try, а если он есть, то (насколько я понимаю) в @Cleanup просто нет смысла, хотя все равно можно написать. Тогда в результирующем коде будет два try, один вложен в другой (не проверял это). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2015, 23:47 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
chabapokЕще что мега-удобно в ломбоке - это наличие @Cleanup аннотации, которая трансформирует код, как будто он написан в стиле try-with-resources. Благодаря этому можно избавиться от некрасивой вложенности, и писать в "плоском" стиле как-то так: сомнительно. - вывести коннект ЗА процедуру используя ООП и нет проблемы - декларативное с инжекциями и аннотациями - один коннект на все твои процедуры и не надо писать в "плоском стиле". Т.е. тут всё очень индивидуально. Если писать лапшу-код, то сабж никак не поможет. Что касается Сеттеров и Геттеров, то я согласен. Тут лаконичность кода нужна. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 10:51 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Petro123- вывести коннект ЗА процедуру используя ООП и нет проблемы - декларативное с инжекциями и аннотациями - один коннект на все твои процедуры и не надо писать в "плоском стиле". Ну так речь же не о коннектах в частности, а о ресурсах вообще. Считайте, что там не коннекшен, а InputStream, например. Просто я на примере коннекта показал. Кстати, даже при работе с базой всякие PreparedStatement и ResultSet-ы могут быть. Их же не будешь инжектить, и не будешь иметь, например, 1 ResultSet на все процедуры. По этой же причине, инжекции и аннотации не всегда могут спасти. У меня вот вообще есть не веб-проекты, и там нету всех этих модных фич. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 16:40 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
chabapokи не будешь иметь, например, 1 ResultSet на все процедуры мы как будто пытаемся перейти из процедурного программирования в ООП стиль программирования. chabapokУ меня вот вообще есть не веб-проекты, и там нету всех этих модных фич. тут надо конкретно. Т.к. вариантов миллион. Например, в десктопе биндинг. Т.е. сам компонент уничтожает присоединённый к себе DataSet\DataSource и т.д. Простое правило: Делаем МАКСимально работы в БД. На клиенте DataSet нужен только как источник данных к визуальному контролу. При унчитожении Parent все детки автоматом закрываются т.к. идут события. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 17:01 |
|
||
|
|

start [/forum/topic.php?fid=59&startmsg=39126332&tid=2124537]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 483ms |

| 0 / 0 |
