|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
mad_nazgul Вы немного лукавите... Т.к. за первым вариантом скрывается класс. где есть куча аннотация с параметрами. А во втором варианте класса нету чтоли? Он есть и в первом и во втором варианте, ну да в случае ОРМ там есть еще аннотация @Entity... :) mad_nazgulЭто если не надо делать "JOIN". Тогда еще надо повозиться с @OneToMany, @ManyToOne и выбрать стратегию для fetch (n+1 запросов таки...). Опять же эта работа никуда не исчезает ни в первом ни во втором варианте. Я же говорил место ОРМ - это в основном довольно-таки прозрачный CRUD для сущностей которые ложатся один-в-один на таблицу. Для остальных случаев есть широкий спектр вариантов от хранимок до createNativeeSQL("select join join ") mad_nazgulТ.е. по объему кода не меньше. Гораздо меньше, декларативные транзакции, открытие коннешена, обработка исключений, маппинг в\из объекта уходят. mad_nazgulА вот гибкости гораздо меньше. С чего вдруг? mad_nazgulЭто не говоря если не нужны рекурсивные запросы и прочие "плюшки" современного SQL. Если нужны, то ХП. Ну нужна ХП точечно - в чем проблема? CallableStatement в руки и впперед. Если процедур много - ну так зачем изначально брался ОРМ? ССЗБ :) mad_nazgulТ.о. развитие проекта: ORM -> ХП для того, что нельзя сделать в ORM -> вся БЛ в ХП -> Как мы избавились от ХП и стали спать спокойно -> ORM. Так лучше сразу не использовать ORM, чем потом тратить силы на "выпиливание" ХП их проекта. <:o) Довольно спорно. Опять же надо просто хорошо понимать что дает ОРМ и когда его надо использовать, а когда - нет. тут все зависит от квалификации. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 09:55 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonКод вполне себе имеет право на жизнь. Может этот код - одноразовый. Мы-же с вами не критикуем bash/python скрипты сисадминов. А они - куда более убогие и одноразовые. И пишуться чтобы решить сиюминутную задачу. И какой смысл нам сейчас тут обсуждать рефакторинг и разделение на layer этого сервлета если всё ТЗ мы нечитали и не знаем что с ним будет дальше. Такой код не имеет права на жизнь ни в каком случае, и тут даже не надо смотреть ТЗ. Он ни дает ни ЕДИНОГО преимущества и создает огромную кучу потенциальных проблем. Это как заклеить дыру в стену жвачкой. Вы правы говоря об утилитах для админов, но это паблик сайт судя по всему, и подход у товарища не единоразовый а на постоянке. А в паблик сайтах вероятность изменений over 99%. Я просто по-человечески сочувствую человеку, который будет заниматься редизайном таких вот сайтов(ну там респонсив дизайн или адаптированный под мобилку, хотя в этом случае любой редизайн = переписыванию с нуля). Вот вы опытный человек и к вам прислушиваются, а вы говорите такие вещи, которые поощряют лень и успокаивают неокрепшие умы молодых программистов, а потом приходят джуны и говорят вашими словами, начитавшись форумов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 10:05 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Молодым и неокрепшим я читал курс основ по всем правилам как положено на предприятии. Но в рамках нашего топика я просто немного пошатал основы чтобы вызвать дискурс. Вызвал? - Хорошо. Сомнения это всегда хорошо. Как говорил Лавр Федорович Вунюков - Плохо когда на все ответы у нас нет вопросов! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 10:10 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
mayton Это еще мой один брошеный камень в адрес "Фаулера головного мозга" и болезни под названием хроническое недо-пере-проектирование всего и вся. Ну давайте делать однострочные названия у переменных, называть классы A.java и B.java так ведь быстрее, не закрывать Reader, не проверять на нулл, все это излишнее. Все-таки есть некоторые базовые принципы, которым надо следовать всегда и везде. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 10:11 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Вы демонизируете меня Бох с вами. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 10:12 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonМолодым и неокрепшим я читал курс основ по всем правилам как положено на предприятии. Но в рамках нашего топика я просто немного пошатал основы чтобы вызвать дискурс. Вызвал? - Хорошо. Сомнения это всегда хорошо. Как говорил Лавр Федорович Вунюков - Плохо когда на все ответы у нас нет вопросов! Да к вам претензий нет, просто люди обычно жадно впитывают то что им понятно и созвучно с их мыслями и тупо игнорят все остальное, ваши оговорки хороши для умных, солидных людей, а большинство просто увидит что вы не видите ничего плохого в том чтобы пихать резалтсет в вывод сервлета. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 10:15 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл никА во втором варианте класса нету чтоли? Он есть и в первом и во втором варианте, ну да в случае ОРМ там есть еще аннотация @Entity... :) Нету. Есть класс для БЛ, а не класс @Entity. Например сейчас у меня задача взять данные из БД и разложить в классы. которые будут отправляться по web-сервису. Не смотря на то, что там куча вложенных тегов, из БД все вытаскивается одним запросом. Но для отправки нужно создать несколько классов. А так читать в сущность, из сущности перекладывать в объекты. И так обычно со всеми остальные задачами, которые не укладываются в стандартный CRUD. забыл никОпять же эта работа никуда не исчезает ни в первом ни во втором варианте. Я же говорил место ОРМ - это в основном довольно-таки прозрачный CRUD для сущностей которые ложатся один-в-один на таблицу. Для остальных случаев есть широкий спектр вариантов от хранимок до createNativeeSQL("select join join ") ORM подходят для очень стандартных CRUD'ов. Но тогда удобно пользоваться Spring-data Описал сущности, объявил интерфейс. И все, работаешь с готовым слоем DAO. Смысла в NativeQuery, лично я не вижу. Мне проще работать с JdbcTemplate забыл никГораздо меньше, декларативные транзакции, открытие коннешена, обработка исключений, маппинг в\из объекта уходят. JdbcTempalte же! ;-) Дает все что вы говорите. Но оставляет всю силу SQL. забыл никНу нужна ХП точечно - в чем проблема? CallableStatement в руки и впперед. Если процедур много - ну так зачем изначально брался ОРМ? ССЗБ :) Сами по себе ХП не проблема... Проблема в том, что их начинают использовать не к месту. При использовании ORM это происходит всегда... забыл никДовольно спорно. Опять же надо просто хорошо понимать что дает ОРМ и когда его надо использовать, а когда - нет. тут все зависит от квалификации. Вот! В этом и проблема! ORM всегда преподносится как "простой" способ работы с БД. Но никто никогда не говорит, что ORM накладывает серьезные ограничения на работу с БД. Единственным естественным способом работы с БД, является SQL. Для себя я решил. Если что-то нельзя сделать ч/з Spring-Data, то не надо использовать ORM. ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 11:56 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
авторТакой код не имеет права на жизнь ни в каком случае, и тут даже не надо смотреть ТЗ. голая фраза без обяснения - лай собаки в пустыне.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 11:56 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
вадяавторТакой код не имеет права на жизнь ни в каком случае, и тут даже не надо смотреть ТЗ. голая фраза без обяснения - лай собаки в пустыне.... Вадя, признавайся, ты даже про String.format похоже не слышал? Тебе не очевидна разница в читаемости между конкатенацией html и генерацией конечного html с помощью шаблона и данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 13:10 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
mad_nazgul, Совершенно верно, есть куча инстурментов, spring-data тоже очень даже ничего, а есть еще nosql и тд. Только spring-data это в некоторой степени и есть облегченный ОРМ, в таком случае непонятно о чем спорите:) Если вы против Хибернейта и hql - так я тоже не фанат, все зависит от проекта. HQL писал последний раз лет 5 назад. Тут товарищ в принципе не понимает что такое MVC и Layer Separation, вот в чем беда ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 13:33 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
chpashaвадяпропущено... голая фраза без обяснения - лай собаки в пустыне.... Вадя, признавайся, ты даже про String.format похоже не слышал? Тебе не очевидна разница в читаемости между конкатенацией html и генерацией конечного html с помощью шаблона и данных? ну понятно, что надо нагородить большестрок кода, что по-больше заплатили. если тебе не понято, что приведено в примере, то о чём речь? там к примеру в зависимости от данных есть добавляется класс или нет. в зависимости от данных строится весь html сможешь это организовать с помощью прокладок? давай повтори приведённые пример по своему, сравним число строк, читаемость кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 14:05 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
вадяchpashaпропущено... Вадя, признавайся, ты даже про String.format похоже не слышал? Тебе не очевидна разница в читаемости между конкатенацией html и генерацией конечного html с помощью шаблона и данных? ну понятно, что надо нагородить большестрок кода, что по-больше заплатили. если тебе не понято, что приведено в примере, то о чём речь? там к примеру в зависимости от данных есть добавляется класс или нет. в зависимости от данных строится весь html сможешь это организовать с помощью прокладок? давай повтори приведённые пример по своему, сравним число строк, читаемость кода. Говоришь тебя на собеседованиях прокидывали за некрасивые глаза? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 14:08 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл никвадяпропущено... ну понятно, что надо нагородить большестрок кода, что по-больше заплатили. если тебе не понято, что приведено в примере, то о чём речь? там к примеру в зависимости от данных есть добавляется класс или нет. в зависимости от данных строится весь html сможешь это организовать с помощью прокладок? давай повтори приведённые пример по своему, сравним число строк, читаемость кода. Говоришь тебя на собеседованиях прокидывали за некрасивые глаза? :) не прокидывали :) сранительный код слабо ? убеди меня, что у меня хуже... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 14:15 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
вадязабыл никпропущено... Говоришь тебя на собеседованиях прокидывали за некрасивые глаза? :) не прокидывали :) сранительный код слабо ? убеди меня, что у меня хуже... Эмм. ну подумай для начала что будет если вдруг понадобится менять табличный дизайн на верстку дивами... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 14:38 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл никmad_nazgul, Совершенно верно, есть куча инстурментов, spring-data тоже очень даже ничего, а есть еще nosql и тд. Только spring-data это в некоторой степени и есть облегченный ОРМ, в таком случае непонятно о чем спорите:) Spring-data это не ORM. Т.к. он позволяет работать не только с СУРБД, но и noSql. Это скорее толстый слой "синтаксического сахара", для работы с БД. забыл никЕсли вы против Хибернейта и hql - так я тоже не фанат, все зависит от проекта. HQL писал последний раз лет 5 назад. Тут товарищ в принципе не понимает что такое MVC и Layer Separation, вот в чем беда А зачем понимать?! Главное уметь пользоваться гуглом и stackoverflow :-) Если что тим лид волшебным пенделем объяснит, что и почему. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 14:43 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл никвадяпропущено... не прокидывали :) сранительный код слабо ? убеди меня, что у меня хуже... Эмм. ну подумай для начала что будет если вдруг понадобится менять табличный дизайн на верстку дивами... :) а если камень с неба? таких если я могу привести море, на все случаи не угадаешь поэтому под конкретное место - конкретное решение, если где потребуется (в возможных планах) что-то модифицировать - там будет отдельное решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 14:49 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
вадяну понятно, что надо нагородить большестрок кода, что по-больше заплатили. нету хуже случая, чем воинствующий дурачек. вадяесли тебе не понято, что приведено в примере, то о чём речь? о том, чтоб сделать понятно вадясможешь это организовать с помощью прокладок? нет конечно, но умру пытаясь Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
можно на каком-нибудь фримаркере или любом другом движке темплейтов генерить Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
можно какой-нить js-framework использовать. но никогда, слышь вадя, никогда не генери в серьезном проекте html с помощью print. тебя проклянут в веках. вадядавай повтори приведённые пример по своему, сравним число строк, читаемость кода. вперед, начинай сравнивать ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 14:51 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
mad_nazgul Spring-data это не ORM. Т.к. он позволяет работать не только с СУРБД, но и noSql. Это скорее толстый слой "синтаксического сахара", для работы с БД. Замечание правильное, только в разрезе темы не существенное, ну да назовем это Object Persistence Storage Mapping, но это не отменяет того факта что это будет упрощающая обертка и выделенный слой. mad_nazgulА зачем понимать?! Главное уметь пользоваться гуглом и stackoverflow :-) Если что тим лид волшебным пенделем объяснит, что и почему. Ну там судя по уровню постов, волк-одиночка, сам себе архитектор дизайнер и проктолог. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 14:52 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл никНу там судя по уровню постов, волк-одиночка, сам себе архитектор дизайнер и проктолог. с 30-летним опытом акцеса!!! так что нечего учить дядю, каким пальцем в попе колупаться, давайте уже считать строчки! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 14:56 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
вадязабыл никпропущено... Эмм. ну подумай для начала что будет если вдруг понадобится менять табличный дизайн на верстку дивами... :) а если камень с неба? таких если я могу привести море, на все случаи не угадаешь поэтому под конкретное место - конкретное решение, если где потребуется (в возможных планах) что-то модифицировать - там будет отдельное решение. Тебе сказали что код говно, потому что не maintainable. Ты спросил почему не maintainable - тебе привели пример. Очевидно, что ты не имеешь представления о командной работе, разделении ролей и общих паттернах проектирования, списывая свою лень разобраться в этом на то что все дураки. Ну да и фиг с ним, но когда ты лезешь с советами к другим, то не обессудь когда получишь очередной пинок. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 14:58 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
chpasha, утебя еще нет обращения к базе... да за это количество строк ты получишь больше... и ещё они в разных файлах посмотреть в одном, переключиться на другой... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 15:05 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
вадяchpasha, и ещё они в разных файлах посмотреть в одном, переключиться на другой... День считай сделан ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 15:15 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
вадяутебя еще нет обращения к базе... а вдруг там не база, а rest-client или вообще тестовая заглушка? oт того, что я допишу пару строк "псевдо"-кода, суть не поменяется. ну если мы не собираемся реально оценивать код кол-вом строк. вадяда за это количество строк ты получишь больше... из этой фразы я заключаю, что мой пример лучше, но тебе гордость не позволяет это признать так? честно говоря не знаю, в каких краях платят за кол-во кода. вадяи ещё они в разных файлах у тебя на кухне ингредиенты для борща отдельно хранятся или уже все сразу в кастрюле? вадяпосмотреть в одном, переключиться на другой... да, адские мучения, особенно если в блокноте пишешь. а ты вот когда html пишешь, у тебя кстати css отдельно или тоже все в одном мешке? ты не думал о том, что когда нужно поменять стиль таблицы, код доступа к данным не особо интересен, и наоборот - когда я хочу where модифицировать, html мне не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 15:16 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
chpasha, на вдруг бывает пук, пишется под конкретные условия, а не на "а вдруг" мне твой код не нравится, тебя устраивает- пиши так. твои высказывания напоминают высказывания Хрущёва по поводу выставки... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 15:30 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
вадяна вдруг бывает пук, пишется под конкретные условия, а не на "а вдруг" если у тебя ума немного больше, чем у калькулятора, то пишешь всегда (когда речь о проекте, а не скрипте) так, чтобы максимально легко было код тестировать, модифицировать и расширять. невозможно предусмотреть все, но пытаться можно. хотя бы для начала разделяя код на слои? вадямне твой код не нравится, тебя устраивает- пиши так. а судьи кто? можно поинтересоваться твоим образованием и квалификацией? вадятвои высказывания напоминают высказывания Хрущёва по поводу выставки... слышал о том, что воинский устав написан кровью? примерно догадываешься почему так говорят? как думаешь, у нас все по-другому или аналогия уместна? з.ы. ты так и не ответил - как несомненный эксперт в области конкатенации строк, ты про String.format слыхал или в акцесе такого не было? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 15:42 |
|
|
start [/forum/topic.php?fid=59&msg=39174391&tid=2120495]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 277ms |
total: | 427ms |
0 / 0 |