|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
chpasha, всё, я закончил спорить, надоело. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 15:54 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
chpashaесли у тебя ума немного больше, чем у калькулятора, то пишешь всегда (когда речь о проекте, а не скрипте) так, чтобы максимально легко было код тестировать, модифицировать и расширять. невозможно предусмотреть все, но пытаться можно. Откровенно говоря одно противоречит другому. Попытка предусмотреть все приводит к тому, что кто-бы не пришел со стороны ему потребуется очень много времени въехать в проект. Говнокод (по методу делаем самым простым способом) выигрывает у этого подхода в разы. Ибо понятно что делается и как можно поменять. Другое дело, что при изменении вводных его приходится переделывать полностью чуть реже чем всегда. Но понять почему данные пришедшие в сервлет не записались в БД. При том, что метод состоит из одного query которое тут же забито в виде строковой константы гораздо проще, чем искать на каком слое абстракции остался клон сущности, о котором известно Хиберу и значениями которого он перезатрет то, что сохранилось в базу по коммиту. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 17:26 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Я думаю что если мы возьмем 100 синьоров и дадим им одно ТЗ с одним сервлетом, одним запросом и одним датасорсом и попросим реализацию. При доп. условии что от него (разработчика) доработок больше не будут требовать - то ... получим 100 разных решений. И все они будут по своему правы потому-что каждый из них прочитает ТЗ и будет делать так как считает целесообразным с позиций своего опыта, знаний фреймвороков и каждый будет закладывать некую толику масштабирования (даже если в ТЗ про это не было ни слова) и малую толику ORM-а и гибкости и красивости а также немного наивного стремления следовать SOLID даже там где его не просили вообще. А println в сервлете тоже имеет право на существование. Я его использовал когда нужно было стянуть логи с себ-порта, а заказчик принципиально не давал нам никаких доступов к SSH. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 17:44 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
а за String.format спасибо что напомнили, просто забыл :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 18:04 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Сергей АрсеньевОткровенно говоря одно противоречит другому. Ничуть. Сергей АрсеньевПопытка предусмотреть все приводит к тому, что кто-бы не пришел со стороны ему потребуется очень много времени въехать в проект. Кто говорит о предусмотреть все? Разделение UI и серверной логики это азы, которое должно быть в каждом проекте(если ты только не пишешь один и сам для себя). Излишняя либеральность тут ни к чему, вы только поощряете говнокодерство. Опытному программисту не надо спрашивать совет когда можно наговнокодить, он это знает потом и неспаными ночами. Сергей АрсеньевГовнокод (по методу делаем самым простым способом) выигрывает у этого подхода в разы. Ибо понятно что делается и как можно поменять. Неправда Сергей Арсеньев Другое дело, что при изменении вводных его приходится переделывать полностью чуть реже чем всегда. Да, объясните это заказчику захотевшему адаптивную верстку, ведь это круто. Приложение то работает, надо всего лишь нанять хорошего дизайнера, да? Сергей АрсеньевНо понять почему данные пришедшие в сервлет не записались в БД. При том, что метод состоит из одного query которое тут же забито в виде строковой константы гораздо проще, чем искать на каком слое абстракции остался клон сущности, о котором известно Хиберу и значениями которого он перезатрет то, что сохранилось в базу по коммиту. Фигасе какие нежные разработчики. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 18:05 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonЯ думаю что если мы возьмем 100 синьоров и дадим им одно ТЗ с одним сервлетом, одним запросом и одним датасорсом и попросим реализацию. При доп. условии что от него (разработчика) доработок больше не будут требовать - то ... получим 100 разных решений. И все они будут по своему правы Как жаль что такого не бывает в реальности :) maytonпотому-что каждый из них прочитает ТЗ и будет делать так как считает целесообразным с позиций своего опыта, знаний фреймвороков и каждый будет закладывать некую толику масштабирования (даже если в ТЗ про это не было ни слова) и малую толику ORM-а и гибкости и красивости а также немного наивного стремления следовать SOLID даже там где его не просили вообще. Есть программирование для себя и промышленное. Так вот, в промышленном есть такое понятие как культура программирования. Не надо предусматривать все, а надо просто сделать проект таким, какой бы ты хотел видеть любой легаси проект. Да, у каждого свой опыт и знания, и трудно предсказать каким этот код будет смотреться со стороны, именно для этого и существуют best practices, можно кое где и наговнокодить, но это должен быть концентрированный говно код в одном месте, которое можно взять и переписать. maytonА println в сервлете тоже имеет право на существование. Я его использовал когда нужно было стянуть логи с себ-порта, а заказчик принципиально не давал нам никаких доступов к SSH. а в скольких проектах вы не использовали println ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 18:12 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Сергей АрсеньевОткровенно говоря одно противоречит другому. Попытка предусмотреть все приводит к тому, что кто-бы не пришел со стороны ему потребуется очень много времени въехать в проект. не нахожу в цитируемом абзаце ничего о том, что понимать такую структуру в целом становится легче, чем если бы все было в одном супер-классе :( . так что не вижу противоречия Сергей Арсеньев Другое дело, что при изменении вводных его приходится переделывать полностью чуть реже чем всегда. именно, см. "модифицировать и расширять". Сергей АрсеньевНо понять почему данные пришедшие в сервлет не записались в БД. При том, что метод состоит из одного query которое тут же забито в виде строковой константы гораздо проще, чем искать на каком слое абстракции остался клон сущности, о котором известно Хиберу и значениями которого он перезатрет то, что сохранилось в базу по коммиту.бывает. но в целом получается мы жертвуем качеством в угоду сиюминутной выгоды в простоте. [youtube= ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 18:16 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonА println в сервлете тоже имеет право на существование. Я его использовал когда нужно было стянуть логи с себ-порта, а заказчик принципиально не давал нам никаких доступов к SSH. тут как-бы никто не против карандашей. мы против ковыряния ими в ушах ;) . да и то из чисто человеколюбивых соображений. хотя в данном случае изначально видно - все усилия бесполезны, спор не имеет смысла. с другой стороны у меня сегодня мало работы ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 18:27 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл ника в скольких проектах вы не использовали println ? Во всех остальных ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 18:35 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Диез, ДиезПредставьте, что вам достается в наследство код, подобный этому: А код ревью на что? Такие гадости либо задокументированы хорошо должны быть, либо выброшены на этапе ревью. Будто на этих ваших Ц++ такого не бывает. maytonЯ-бы по другому сказал. На Java всегда можно найти менторов или синьоров которые могут объяснить то или другое поведение. Если сложная ситуация с реверс инжинирингом или с анализом унаследованного кода возникнет в Scala - куда бежать-та? Сразу в Сан-Франциско? Синьоров толком нету. И даже не суть в реверсе. Реверс-то любой студент сделает с дебаггером. Ещё раз спрошу: Чем enterprise Java от enterprise Scala отличается? Какие проблемы с вопросами? На Stackoverflow очень хорошо по Скале отвечают. Читаем Scala in action, читаем Programming in Scala. У Раста сообщество меньше - программируют как-то. maytonИ какой смысл нам сейчас тут обсуждать рефакторинг и разделение на layer этого сервлета если всё ТЗ мы нечитали и не знаем что с ним будет дальше. Можно игнорировать best practices и говнокодить чего душе угодно. А когда проект выйдет за рамки генерации персональных веб-страничек - получаем ворох проблем. maytonак говорил пингвин Командор: - Крякнем. Плюнем. И замотаем скотчем! Отличный подход. На ПХП любили практиковать. вадяутебя еще нет обращения к базе... да за это количество строк ты получишь больше... и ещё они в разных файлах посмотреть в одном, переключиться на другой... Действительно. Гораздо удобней говнячить всё в одном файле строк на 5К, правда? mayton немного наивного стремления следовать SOLID даже там где его не просили вообще. Потому что человек работающий над большими, динамичными проектами привык делать всё так, чтобы потом не переписывать. Наверное потому сеньёры не занимаются "ТЗ с одним сервлетом". Сергей АрсеньевГовнокод (по методу делаем самым простым способом) выигрывает у этого подхода в разы. Ибо понятно что делается и как можно поменять. Legacy на С++ не случалось, значит? Ну-ну. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 18:50 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
DoSOfRedRiverЕщё раз спрошу: Чем enterprise Java от enterprise Scala отличается? Какие проблемы с вопросами? На Stackoverflow очень хорошо по Скале отвечают. Читаем Scala in action, читаем Programming in Scala. У Раста сообщество меньше - программируют как-то. По поводу отличий - сделаем по другому. Я просто буду периодически поднимать в Java топики, ответы на которые я не нашёл в Stackoverflow. Обычно мои вопросы заключаются не в том "как это сделать" а в том "почему сделано именно так" и "как еще можно было сделать". ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 19:36 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
DoSOfRedRivermayton немного наивного стремления следовать SOLID даже там где его не просили вообще. Потому что человек работающий над большими, динамичными проектами привык делать всё так, чтобы потом не переписывать. Наверное потому сеньёры не занимаются "ТЗ с одним сервлетом". Нет ли здесь противоречия с KISS или YAGNI ? Автора, написавшего JSP-страничку с prinln ругали всем миром. Но никто не видел ТЗ. Как вы считаете коллега, нет ли в этом какой-то натяжки? Или лицемерия? Синьор не может себе позволить написать "прямой" код? Он обречён hello-world писать через фабрику + синглтон + строитель? Он не может себе позволить быть "простым и кротким" как говорил один бородатый философ пару тыщ лет назад? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 19:43 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
DoSOfRedRiverОтличный подход. На ПХП любили практиковать. Это была шутка! А на ПХП я никогда не писал вобщем-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 19:53 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Если что, есть транскрипт ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 19:54 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
mayton Нафига вот это занудная игра в адвоката дьявола, если очевидно что "художник реально так видит"? Коллега чисто случайно забыл про существование String.format, ты сам-то веришь при таком раскладе в ТЗ на "прямой код"? У себя на заднем дворе можно хоть коннекты не закрывать, но на серьезных щах утверждать, что код отличный и вообще докажите что нет - это детский нигилизм. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 19:56 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
chpashamayton Нафига вот это занудная игра в адвоката дьявола, если очевидно что "художник реально так видит"? Коллега чисто случайно забыл про существование String.format, ты сам-то веришь при таком раскладе в ТЗ на "прямой код"? У себя на заднем дворе можно хоть коннекты не закрывать, но на серьезных щах утверждать, что код отличный и вообще докажите что нет - это детский нигилизм. Я уделил этому коду ровно 2 секунды. И вообще он мне не интересен. Мне было интересно другое. Предел комплексности при решении задачи вывода 1 резалтсета из 1 сервлета. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 19:59 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonМне было интересно другое. Предел комплексности при решении задачи вывода 1 резалтсета из 1 сервлета. а задача как звучит ;)? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 20:10 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonDoSOfRedRiverпропущено... Потому что человек работающий над большими, динамичными проектами привык делать всё так, чтобы потом не переписывать. Наверное потому сеньёры не занимаются "ТЗ с одним сервлетом". Нет ли здесь противоречия с KISS или YAGNI ? Автора, написавшего JSP-страничку с prinln ругали всем миром. 1) "S.O.L.I.D. сложные", - миф. Потому и противоречия нет. KISS и YAGNI - методологии, а не математика - сущности разного класса. Про их преимущества\недостатки достаточно хорошо известно, к тому же. 2) Синьор может позволить, вот только никто не нанимает программиста за 1.5К$ долларов писать Hello World'ы, смекаешь? На своих проектиках ведь можно что угодно делать. Речь идёт о больших и сложных вещах, в которых много людей участвует. chpashaНафига вот это занудная игра в адвоката дьявола, если очевидно что "художник реально так видит"? Неистово плюсую. Очевидно, что многое, чего тут написано - не имеет под собой объективной основы. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 20:24 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
читал только первую страницу. у нас так: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 20:56 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
так почище Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 21:04 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Код: c# 1.
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 23:17 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл никРазделение UI и серверной логики это азы, которое должно быть в каждом проекте Но не должно быть самоцелью, а должно подчинятся общей логике решения задачи. Другими словами если вам надо соединить линией две точки на карте, это можно сделать на клиенте (js) и на сервере (java), но где зависит от возможностей того и другого и целесообразности, а не как от необходимости выполнять правильный паттерн программирования. IMHO конечно. С другой стороны волшебная кнопка, это конечно моветон. забыл ник вы только поощряете говнокодерство. Не совсем - я не люблю быдлокодерства - у которого шаблон важнее сути. Хуже в сопровождении только код гуру - ибо "почему это вообще работает" порой он даже сам вспомнить не может. С другой стороны Вы правы забыл никФигасе какие нежные разработчики. Чем сложнее тем дороже. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 09:23 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
chpashaбывает. но в целом получается мы жертвуем качеством в угоду сиюминутной выгоды в простоте. Вы не поняли, не сиюминутной. А с точки зрения сопровождения на предмет нахождения багов и вхерачивания костыля. С точки зрения развития функционала большое количество костылей может начать мешать настолько что придется все переделывать. Другая крайность, когда из-за большого количества слоев универсальной абстракции теряется часть смысловой информации и, чтобы она появилась в нужном месте приходится все переделывать. Собственно опыт "сеньёра" и позволяет найти подход, который не позволяя уйти в крайности решает задачу с приемлемым уровнем гибкости и масштабируемости программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 09:36 |
|
|
start [/forum/topic.php?fid=59&msg=39174569&tid=2120495]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 283ms |
total: | 432ms |
0 / 0 |