
Cargeh
29.06.2018
13:00:25
удалил код Егора и написал как надо

Georgy
29.06.2018
13:05:43
да статики еще ладно
while с break'ами куда страшнее выглядит

Sergey
29.06.2018
13:08:38
Че - все никак не отойдете? Раунд третий?)

Google

Александр
29.06.2018
13:10:41
?


Sergey
29.06.2018
13:15:19
Давайте мой код тогда пообсираем. Так я применяю EO вместе с SOLID в небольшой тулзинке: https://github.com/skapral/puzzlerbot. Мне насрать что местами процедуры и статики. Мне насрать что Егор критикует extends и RuntimeExtension. Но вся HL архитектура моего пока маленького приложения наглядно видна сразу, невооруженным взглядом, как и завещал Мартин в Clean Architecture. Просто достаточно заглянуть в core. Каждый класс я могу зареюзать где угодно без модификации. Каждый интерфейс отражает миссию и цель моего тула. Каждый класс подчиняется LSP и имеет единственную причину поменяться. Вы не найдете там ни одного класса именованного именем паттерна. И я отлично живу без DI и DTO. Я не заморачиваюсь кактусами и тейксами и юзаю что есть в джаве, но не более того что мне реально нужно.
Сыграем с заказчика и разраба? Сделайте мне любой пропозал по энхансменту и я почти сразу скажу как я его буду делать и сколько примерно это займет и почему.


Митко Соловец?
29.06.2018
13:22:47

Wystan
29.06.2018
13:22:56
Дим, привет
добавь меня, пожалуйста, в чат с интервью

Igor
29.06.2018
13:23:20

Sergey
29.06.2018
13:23:34

Wystan
29.06.2018
13:23:39
Ну я же свой парень. на спринге пишу, все дела

Митко Соловец?
29.06.2018
13:24:15
просто ваша подача - агрессивная
не я один это говорил вам

Marat
29.06.2018
13:24:45
посмотрел юз-кейсы в тестах, lisp-style ))))
https://github.com/skapral/puzzlerbot/blob/master/puzzler-core/src/test/java/com/github/skapral/puzzler/core/text/threepars/AssertTextInstanceProducesCertainParagraphsTest.java

Google

Sergey
29.06.2018
13:25:16
я не обсирал ваш код
Я об этом и говорю. Вы даже не удосужились объективно обосрать мой код, сразу какие то грязные предположения в отношении меня.

Marat
29.06.2018
13:25:49
если конструкторы заменить на методы-фабрики и из заимпортить через import static то вообще можно от new избавиться
тогда каждый класс будет описывать действие

Митко Соловец?
29.06.2018
13:26:34

Sergey
29.06.2018
13:26:55

Митко Соловец?
29.06.2018
13:26:57
>Вы не найдете там ни одного класса именованного именем паттерна.
увольнять сразу
?

Sergey
29.06.2018
13:27:29

Marat
29.06.2018
13:28:01
хм, тогда EO - это попытка писать на java, как на lisp или haskell (списки операций, отложенные вычисления)

Митко Соловец?
29.06.2018
13:28:02

Sergey
29.06.2018
13:28:48

Митко Соловец?
29.06.2018
13:29:26
public class Cp_PORT

Sergey
29.06.2018
13:29:30

Митко Соловец?
29.06.2018
13:29:36
что за нейминг
ЗАТО НЕ ДЛИННЫЙ

Sergey
29.06.2018
13:30:18

Митко Соловец?
29.06.2018
13:31:04
короче, я посмотрел код - написан аккуратно в целом и все понятно что и как

Sergey
29.06.2018
13:31:40
зачем нижнее подчеркивание?
Просто так. Почему нет. Хотелось вот мне чтобы имя ENV переменной выглядело как имя переменной и было отделено подчеркиванием

Google

Митко Соловец?
29.06.2018
13:32:10
причем то, как внедряются компоненты - очень похоже на спринг
вот прикол
только Сергей делает это руками
его право


Nikolas
29.06.2018
13:32:28
а тут есть те, кто прочитал книгу (книги) "Elegant objects" и после этого у него сложилось мнение, что он "втирает какую-то дичь"? (но только условие с тем, что надо прочитать книгу пред этим - обязательное)))
простите, походу это я виноват. Пришла пора вскрыть карты: на самом деле я думал как и бОльшая часть из нас по поводу ЕО, мол "@yegor256 , ты втерашешь мне какую-то дичь". Такое мнение сложилось после просмотра пары спитчей с конференций и прочтения пары статей Егора.
Потом мне стало интересно, а что он там такого в книгах своих написал, и я даже прочитал... Стало уже более понятнее, но все же меня не покидала мысль, что на бумаге это звучит хорошо, a на практике - нереально так писать. Потом я переписал один из своих проектов на ЕО стиль. Теперь этот проект живет в два бранча "процедурный" и "ЕО". И вот смотрю я на это все, читаю код и думаю: а ведь Егор в чем-то прав. Нет, я не адепт, а скорее прагматик который решил проверить теорию на практике. И меня забавляет, как люди, которые не читая начинают осуждать. Наверное поэтому я и задал такой вопрос, чтобы получить мнения именно с прочитавших. Спасибо :-)


Берял
29.06.2018
13:33:11


Nikolas
29.06.2018
13:33:14
до сих пор собираю мнения с людей прочитавших, и если есть кому что-то добавить из тех кто прочитал - закиньте мне фитбэк в личку плиз. Не хочу здесь разжигать.

Alexander
29.06.2018
13:33:40

Митко Соловец?
29.06.2018
13:34:02
обычный бойлер
я все нашел
понятно как работает

Sergey
29.06.2018
13:34:34

Marat
29.06.2018
13:34:45
Никогда не пользовался EO, но теперь буду. SOLID от народа.

Митко Соловец?
29.06.2018
13:34:52
как и дто

Alexander
29.06.2018
13:34:59

Митко Соловец?
29.06.2018
13:35:12
где в каком классе код
https://github.com/skapral/puzzlerbot/blob/master/puzzler-app/src/main/java/com/github/skapral/puzzler/app/Bootstrap.java

Alexander
29.06.2018
13:35:27
норм, это все?

Sergey
29.06.2018
13:35:35

Митко Соловец?
29.06.2018
13:35:43
https://github.com/skapral/puzzlerbot/blob/master/puzzler-core/src/main/java/com/github/skapral/puzzler/core/operation/AssertOperationSuccessful.java

Google

Митко Соловец?
29.06.2018
13:35:55

Alexander
29.06.2018
13:36:03
это ваще тесты походу

Берял
29.06.2018
13:36:09

Митко Соловец?
29.06.2018
13:36:12
а вот MailService - решает задачи

Берял
29.06.2018
13:36:18
и при этом все это обмазано throws Exception

Митко Соловец?
29.06.2018
13:36:26

Admin
ERROR: S client not available

Митко Соловец?
29.06.2018
13:36:35
с той лишь разницей, что Сергей все руками собирает
а может Сергей просто поклонник рич модели

Берял
29.06.2018
13:37:00
человек соблюдает SOLID, но не соблюдает KIS
мне не нужен интерфейс и абстрактный класс для того чтобы написать одну строчку

Marat
29.06.2018
13:37:23

Sergey
29.06.2018
13:37:36

Alexander
29.06.2018
13:37:56
есть бойлерплейт, который не делает ничего
элегентно, че

Митко Соловец?
29.06.2018
13:38:16
https://github.com/skapral/puzzlerbot/blob/master/puzzler-core/src/main/java/com/github/skapral/puzzler/core/operation/OpDoNothing.java#L38

Sergey
29.06.2018
13:38:17

Митко Соловец?
29.06.2018
13:38:35

Google

Жабра
29.06.2018
13:38:39

Берял
29.06.2018
13:39:02

Sergey
29.06.2018
13:39:37
.../src/main/java
И что? Это реюзабл стаб для тестов, который могут использовать компоненты вне этого джарника.

Tolegen
29.06.2018
13:40:10
Null Object Pattern ещё его называют

Митко Соловец?
29.06.2018
13:40:13
https://github.com/skapral/puzzlerbot/blob/master/puzzler-core/src/main/java/com/github/skapral/puzzler/core/itracker/ItToList.java#L40

Берял
29.06.2018
13:40:14

Митко Соловец?
29.06.2018
13:40:16
вопрос
если я передам Arrays.asList в конструктор

Marat
29.06.2018
13:40:34

Митко Соловец?
29.06.2018
13:40:38
а потом вызову persistPuzzle
что будет?

Sergey
29.06.2018
13:40:45

Alexander
29.06.2018
13:41:01

Митко Соловец?
29.06.2018
13:41:11
разберитесь куда тесты складывают
и ответьте на вопрос выше

Vladimir
29.06.2018
13:41:40
что будет?
LSP - это не про java.util.List. Такова жизнь.

Sergey
29.06.2018
13:41:53