@jvmchat

Страница 1206 из 2890
Митко Соловец?
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(",")), ну серьезно блин, что это?

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-кода в прикладном коде хоть как-то, берут паттерны и начинают наслаивать один на другой, и так до дурной бесконечности

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
+

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

Ivan
21.02.2017
18:41:48
в jdk 9

будут data классы вроде

Митко Соловец?
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
list.mkString(",")
функциональщина будет так: mkString(list, ",")

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

функциональщина будет так: mkString(list, ",")
да, формально я вкурсе, ты понял, что я говорил о скале

Admin
ERROR: S client not available

Aliaksei
21.02.2017
18:43:58
да, формально я вкурсе, ты понял, что я говорил о скале
так котлин тоже тебе экстеншен сделает

Wystan
21.02.2017
18:44:15
public final, вот и иммутабельность, зачем геттеры?
а ну да, невнимательно прочитал; тоже самое

Kirill
21.02.2017
18:44:25
так котлин тоже тебе экстеншен сделает
я говорил про то, как я сделал это на джаве, и как мне хотелось бы это видеть, слова котлин там нигде не было

guga
21.02.2017
18:44:27
потому что надо делать только геттеры и тогда у тебя будет подобие иммутабельных классов
ага, а потом кто-то особо умный рефлексией начнет баловаться

Митко Соловец?
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
слушай, даже скала так не делает
я не понял того, что ты сказал))) case class A(a: Int), и ты пишешь val a = A(1); println(a.a)

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
я не понял того, что ты сказал))) case class A(a: Int), и ты пишешь val a = A(1); println(a.a)
ну там же все равно есть методы, т.е. там не public final там вместе с пропертей создаются сеттер и геттер

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
ну там же все равно есть методы, т.е. там не public final там вместе с пропертей создаются сеттер и геттер
Да какая разница, я говорю про то, как это выглядит с точки зрения кода и разработчика, с точки зрения developer API

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

ваши предложения, господа

Ivan
21.02.2017
18:48:04
Да какая разница, я говорю про то, как это выглядит с точки зрения кода и разработчика, с точки зрения developer API
давай говорить правду, геттер и сеттер это хоть какая нибудь попытка сохранить контроль над приватностью свойства

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

ясно

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

Kirill
21.02.2017
18:49:31
давай говорить правду, геттер и сеттер это хоть какая нибудь попытка сохранить контроль над приватностью свойства
тут же @dmsol сказал, что логика в них это боль, то есть логики там не должно быть. выходит, что они должны просто сеттить/возвращать значение, тогда о каком контроле идет речь? ты через геттер вернешь все то же самое значение поля, только кода будет намного больше

Страница 1206 из 2890