Roman
нашей команде важно, чтобы было легко двигать тикеты по спринт бордам, мелочи типа доменных правил, а тем более их ясности - это ниже нас
ну с тем, что у вас в команде большие проблемы, я совершенно согласен. Просто эти проблемы не в том, что ддд плохо или хорошо, а в том, что долбоебы на ключевых ролях находятся. Вместо ддд тут можно было бы выбрать абсолютно любой подход/технологию, и результат бы не изменился
Roman
подобные симптомы проявляются всегда, когда люди ограничиваются косметическим соответствием какой-то концепции, забывая как бы о том, что гораздо важнее соответствовать по сути
Shub
ну с тем, что у вас в команде большие проблемы, я совершенно согласен. Просто эти проблемы не в том, что ддд плохо или хорошо, а в том, что долбоебы на ключевых ролях находятся. Вместо ддд тут можно было бы выбрать абсолютно любой подход/технологию, и результат бы не изменился
с ключевыми ролями довольно интересно: глобально они не провозглашают ничего такого, с чем нельзя бы было не согласиться. но вот реализация вызывает истинное недоумение, ну типа как вырубить всю тайгу, чтобы предотвратить лесные пожары
Shub
Сматчить аргумент по кейсу - не мог бы ты на пальцах показать?
type MyType = Case1 of int | Case2 of string) let square (Case1(v)) = Case1(v * v) // варнинг
Shub
в хаскеле попытка вызвать эту функцию с другим кейсом уронит компиляцию
Mikhαil
ддд всего лишь про то, насколько по твоему коду легко восстановить доменные правила, только и всего
Ну верно сказано что при неизвестном домене ддд только в ногу выстрелит
Mikhαil
Ддд это про наличие устойчивого домена и эксперта с пониманием этого домена
Roman
не согласен
Roman
с устойчивым доменом и экспертом, конечно, всегда проще жить. Но дело тут не в ддд)
Shub
подобные симптомы проявляются всегда, когда люди ограничиваются косметическим соответствием какой-то концепции, забывая как бы о том, что гораздо важнее соответствовать по сути
ограничение косметикой - это само по себе симптом. как тебе например фанатичная защита стрелок под предлогом "если мы заменим стрелки на async {} - разработчики растеряются и мы не сможем перекинуть их на другой проект"? при том, что перекидывание на другой проект за 5 лет случалось ровно ноль раз
Mikhαil
не согласен
Здорово) просто напроектируешь ты сложных агрегатов и событий и прочего, а окажется что поделил ты все неверно из-за непонимания домена
Mikhαil
Это не проблема ддд, это проблема необоснованных допущений
Так я не говорю что ддд это плохо. Я говорю что есть кейсы где риски обосраться высокие
Mikhαil
Мне ддд нравится
Shub
Так я не говорю что ддд это плохо. Я говорю что есть кейсы где риски обосраться высокие
все патриархи ддд в один голос заявляют, что вероятность обосраться ддд на крудах составляет 99.99% процентов. при этом адепты ддд в дикой природе проявляют тенденцию к soa и микросервисах, в которой каждый модуль системы - тот самый круд
Shub
но вообще ддд - обширная тема, насколько обширная, что даже в образцовых проектах проявляется дай боже половина признаков
Vasily
А ведь вроде не пятница
Shub
Mikhαil
И вечно дискуссионная
Mikhαil
А ведь вроде не пятница
Вообще да, хряпнуть и вперёд в споры про ддд
Mikhαil
Среда
Так это
Mikhαil
Среда этж маленькая пятница
Vasily
У меня теория простая
Vasily
В команде должно быть больше людей, которые решают проблемы, а не создают
Vasily
Если наоборот, получится херня
Vasily
С языками, платформами и прочим это вообще не коррелирует
Mikhαil
А если я готов не создавать и не решать проблемы. Такой вот нейтралитет
Mikhαil
Это же лучше тех кто создаёт проблемы
Mikhαil
Готов сидеть без дела на зп вместо соиздателей проблем
Vasily
И это проблема
Roman
Так я не говорю что ддд это плохо. Я говорю что есть кейсы где риски обосраться высокие
Если мы не знаем какие-то области домена, то и отражать это в коде надо соответствующим образом. Это как раз будет ддд — мол, сегодня эту хуйню не знаем, поэтому сделаем ее обжектом вообще. А вот если кто-то без знания домена сделает это чем-то более конкретным, пускай даже прикрываясь ддд, это как раз будет отступлением от этой концепции)
Shub
В команде должно быть больше людей, которые решают проблемы, а не создают
наше общество (в смысле "либерально-технократическое общество западного образца") оказывает очень сильное влияние в совершенно противоположном направлении
Hog
type MyType = Case1 of int | Case2 of string) let square (Case1(v)) = Case1(v * v) // варнинг
но ведь написать (v: MyType ) = function не сильно дольше. или проблема именно с compile vs run-time?
Roman
В команде должно быть больше людей, которые решают проблемы, а не создают
как бы трудность в том, чтобы отличить одних от других, пушто каждый уверен в том, что решает проблемы. Особенно те паладины ддд у еглифа в команде
Roman
А вот засунуть тебя в такую команду — так тебя быстро определят как создавателя проблем и вообще некомандного игрока. Еще и токсичный.
Shub
как бы трудность в том, чтобы отличить одних от других, пушто каждый уверен в том, что решает проблемы. Особенно те паладины ддд у еглифа в команде
они сука скрытные. я бы еще понял, если бы хоть какие-то эмоции демонстрировались. можно было бы искать подход. но реакции просто нуль, он тебя послушает вежливо, не перебивая, и дальше продолжит заниматься своей хуйней
Mikhαil
Вообще Васина концепция мне не нравится
Mikhαil
Она несправедливая
Mikhαil
То что я не приношу вреда ценнее чем кто-то кто приносит проблемы
Roman
Да и в целом это довольно относительное понятие
Верно. Ты вот пришел на проект, и как дурак думаешь, что проект должен приносить деньги, быть кост-эффектив и все такое. А на самом деле это проект, чтобы занять делом одного мудака, который сын правильных людей и уволить просто так его нельзя
Shub
тогда им можно тока позавидовать. Парни нашли дзен и занимаются любимым делом
Айрат упоминал одного парня в Дублине, который в нашу команду пришел. вот он где-то с год работал самостоятельно на саппорте некоторых проектах и вроде нормально себя чувствовал. а где-то с полгода назад ему пришлось коммуницировать с двумя довольно тугими персонажами и за разговоры в стиле "как насчет перестать заниматься хуйней?" его идентифицировали как трабл-мейкера и токсик персоналити
Ilya
Ну так верно идентифицировали.
Shub
палка о двух концах, кто бы мог подумать, что обвинения в харассменте\токсичности - точно такой же инструмент харрасмента и токсичности
Shub
Абгоди, это тот китаец???
это Сергей тот. толковый
Ayrat
это Сергей тот. толковый
Аааааааааааааа, понял
Shub
а китаец - ага, один из двоих
Ayrat
Китаец тугой, да.
Shub
он реально того, сниженные когнитивные возможности
Mikhαil
И то, что твой подход позволит этот проект выполнить в кратчайшие сроки и силами тебя одного — это очень неудобно в смысле глобальной картины
+++ Вообще если ты один д’Артаньян а все вокруг пидарасы то стоит задуматься о том что в этой системе координат ты проблем мейкер
Shub
+++ Вообще если ты один д’Артаньян а все вокруг пидарасы то стоит задуматься о том что в этой системе координат ты проблем мейкер
то есть ты намекаешь, что нет никаких абсолютных понятий "правильно", а истина - субъективна? это моральный релятивизм вообще-то
Ayrat
intellectually challenged?
Как интересно
Roman
intellectually challenged?
Тоже вспомнил про Карлина и его "So what, are we gonna call short people 'Vertically challenged'?"
Shub
неудовольствие возникает неспроста. неудовольствие возникает, когда затрагиваются личные интересы. мои личные интересы например затрагиваются тем, что я не въезжаю в эту шизофреническую логику и не могу быть продуктивным. то есть хер с ним, с кодом, ради +15 % промоушена в год я могу и не такой говнокод писать
Hog
Как интересно
всё иеронизируешъ
Ayrat
intellectually challenged?
Это челенж для него или для окружающих?
Shub
но я не могу, даже стараясь
Hog
да
🤣🤣🤣
Ayrat
но я не могу, даже стараясь
Слушай, ну я хз чо там у вас, но я вот уже лыжи навострил даже со своего спринга в другую тиму
Shub
intellectually challenged?
он например три дня пытался решить проблему, решение которой было написано в логах, прямо в первых строчках. бегал, какие-то там тикеты создавал в платформе.
Shub
Иван че-то пропал