
Митко Соловец?
21.02.2017
18:28:08
не, не дружок, ты практики конкретно к языку не мешай

Beka
21.02.2017
18:28:16
http://www.yegor256.com/2017/02/21/say-no-to-google-recruiters.html
Хорошая статья от Егора.

Kirill
21.02.2017
18:28:55
почему бы и нет, раз это стало характерной чертой? я не видел в скала/груви/котлин коде фабрик фабрик, хотя стоит признать, что котлин кода я читал мало

Митко Соловец?
21.02.2017
18:28:58
короче, я понял тебя, Кирилл и твоё имхо, слишком предвзято, рад, что ты нашел себя в скале

Google

Митко Соловец?
21.02.2017
18:29:24
но не стоит стереотипам давать волю над разумом
могу аналогичное накатать про скалу, но не буду, чтобы не разжигать

Kirill
21.02.2017
18:30:33
Так это не стереотипы, я читал много разного кода на джаве, и хорошего и плохого, и большинство это прокси фактори, хотя само собой есть элегантно написанные вещи, но это обычно какие-то библиотеки, а не прикладной код

Ivan
21.02.2017
18:31:46
я надеюсь ты не о спринге

Kirill
21.02.2017
18:31:57
как пример джава кода который мне понравился, могу привести либу kafka-clients, там вот читаешь - и сходу понимаешь, что, откуда и как берется, и не надо заставлять идею лезть через 10 слоев иерархии классов и искать имплементацию на другом конце вселенной, где она неявно в рантайме тянется

Ivan
21.02.2017
18:32:26
то что ты описываешь это в энтерпрайзе часто такое
потому что бородатое легаси
все же джава лет за 5 последних нормально шагнула вперед
и JVM подкрутили, и функциональщины добавили, вполне приятно стало

Митко Соловец?
21.02.2017
18:33:27
новые проекты стараются использовать лучшие практики, насколько это возможно

Kirill
21.02.2017
18:33:35
Так а почему это поощряется, почему пишут про эти паттерны, как про что-то хорошее, и это считается нормой? Почему бы разработчикам ведущих фреймворков тогда не прививать прикладным разрабам best practices?

Митко Соловец?
21.02.2017
18:33:53
т.е. ты считаешь паттерны проектирования плохой вещью?
я тебя правильно понял?

Google

Kirill
21.02.2017
18:34:17
такие, как я описал выше - да, не все же паттерны плохие, само собой, не искажай мои слова

Митко Соловец?
21.02.2017
18:34:30
ну как ты написал

Ivan
21.02.2017
18:34:37
ну прокси паттерн это почти всегда необходимость

Митко Соловец?
21.02.2017
18:34:48
на прокси паттерне спринг работает на минуточку

Ivan
21.02.2017
18:34:53
да куча всего

Митко Соловец?
21.02.2017
18:34:56
и куча других жизненно важных либ
а тут Кирилл нам заявляет что это плохо
я не знаю, как к этому относиться

Kirill
21.02.2017
18:35:17
функциональщина - это когда я недавно хотел на джаве сделать mkstring у листа UUID, и вышло у меня list.stream().map(UUID::toString).collect(Collectors.joining(",")), ну серьезно блин, что это?

Митко Соловец?
21.02.2017
18:35:43

Kirill
21.02.2017
18:35:51
list.mkString(",")

Ivan
21.02.2017
18:36:00
либы есть
streamex
jdk дает голое api дальше сами пилите

Митко Соловец?
21.02.2017
18:36:37
вы поставьте себя на место JDK инженеров
мотивацию прикиньте
что будет, если все хотелки влепить

Kirill
21.02.2017
18:37:37
Вы мои слова опять искажаете, сами паттерны по себе не являются плохими, как и языки, плохими являются практики их использования, когда вместо того, чтобы пытаться снизить вербозность Java-кода в прикладном коде хоть как-то, берут паттерны и начинают наслаивать один на другой, и так до дурной бесконечности

Митко Соловец?
21.02.2017
18:38:04
повторюсь, новые проекты стараются использовать лучшие практики и подходы

Google

Митко Соловец?
21.02.2017
18:38:30
насколько это возможно

Kirill
21.02.2017
18:38:44

Митко Соловец?
21.02.2017
18:39:11
подталкивают писать как?
ты пытаешь притянуть за уши проблему конкретных говнопроектов, на которых ты был
ну или поначитался где-то
но мир то огромный

Wystan
21.02.2017
18:40:17
о этот прекрасный мир.

Ivan
21.02.2017
18:40:29
т.е. это не самый лучший пример
хотя тот же спринг ща пилит stream api т.е. пытается быть в тренде
запиливает асинхронность в свой фреймворки

Kirill
21.02.2017
18:41:03
Почему, например, считается нормой писать геттеры/сеттеры, причем в любом случае, не только там, где нужна какая-то конкретная хитрая обработка в set или get? Инкапсуляция здесь ни при чем, сокрытие тоже

Anvar
21.02.2017
18:41:23
+

guga
21.02.2017
18:41:40

Wystan
21.02.2017
18:41:42
да case classы просто не завезли. перекатывайся на скалу и будет счастье

Ivan
21.02.2017
18:41:48
в jdk 9
будут data классы вроде

Kirill
21.02.2017
18:41:53

Митко Соловец?
21.02.2017
18:41:56
>де нужна какая-то конкретная хитрая обработка в set или get
а вот это боль

guga
21.02.2017
18:42:02

Google

Митко Соловец?
21.02.2017
18:42:02
когда логика в геттерах и сеттарах

Wystan
21.02.2017
18:42:13

Ivan
21.02.2017
18:42:15

guga
21.02.2017
18:42:39

Aliaksei
21.02.2017
18:42:42

Kirill
21.02.2017
18:42:56
когда логика в геттерах и сеттарах
тем более! я стараюсь писать на джаве с public final полями и давать их в конструкторе, и код сразу становится короче в 10 раз и чище, что в этом плохого? почему везде геттеры и сеттеры?

Wystan
21.02.2017
18:43:28

Kirill
21.02.2017
18:43:48

Митко Соловец?
21.02.2017
18:43:57

Admin
ERROR: S client not available

Aliaksei
21.02.2017
18:43:58

Alexander
21.02.2017
18:44:13

Wystan
21.02.2017
18:44:15

Kirill
21.02.2017
18:44:25

guga
21.02.2017
18:44:27

Ivan
21.02.2017
18:44:36
астанавись

Митко Соловец?
21.02.2017
18:44:47
плюс с помощью сеттеров удобно сделать билдер паттерн

Wystan
21.02.2017
18:44:51

Google

Митко Соловец?
21.02.2017
18:44:52
а с просто полями как?

Wystan
21.02.2017
18:45:17
зачем билдер паттерн, если нужны иммутабельные структуры?

Митко Соловец?
21.02.2017
18:45:34

Wystan
21.02.2017
18:45:36
даже в джсе пишут щас Object.assign({}, old, new)

Митко Соловец?
21.02.2017
18:45:41
бизнес требует

Kirill
21.02.2017
18:45:42

Ivan
21.02.2017
18:45:58
охренеешь

Wystan
21.02.2017
18:46:13

Митко Соловец?
21.02.2017
18:46:33

Ivan
21.02.2017
18:46:35

Kirill
21.02.2017
18:46:47
а мне нужны изменяемые
Ну так и делаешь копию объекта с измененным конкретным полем, или у тебя сириус бузинесс на 1кк rps где нельзя лишний int аллоцировать?

Nikolay
21.02.2017
18:47:00
бизнес требует
Бизнес требует чтобы работало, а не чтобы сеттеры и билдеры писали

Alexander
21.02.2017
18:47:19

Kirill
21.02.2017
18:47:24

Митко Соловец?
21.02.2017
18:47:38
мне нужно поменять поле у объекта из базы
ваши предложения, господа

Ivan
21.02.2017
18:48:04

Митко Соловец?
21.02.2017
18:48:45
ауууу, фп боги, вы где
ясно

sss3 ?
21.02.2017
18:49:15
На выходе из метода даешь новый объект

Kirill
21.02.2017
18:49:31