
Sergey
26.06.2017
12:06:48
ну так может быть это и есть проблема?

Артур Евгеньевич
26.06.2017
12:08:08
Ентитю это просто поля гетеры и сетеры а все сервисы это свалка методов гад сущностями + обертки над репозиториями

Max
26.06.2017
12:09:06
Почему?
@fes0r
так как ты должен разделять все не по сущностям а по aggregate root и гораздо проще когда у тебя много папочек с entity и vo в которых описан какой-то контекст - сразу видно границы че и в рамках чего взаимодействует, а не свалки с двух папок Entities и Vo

Denis
26.06.2017
12:09:07

Google

Like
26.06.2017
12:10:24

Sergey
26.06.2017
12:10:35

Max
26.06.2017
12:12:51
ну те Data Driven =)
не всегда
ты про Builder, Adapter, Repository - ?

Sergey
26.06.2017
12:14:23

Denis
26.06.2017
12:14:55
Тут Егор Бугаенко поспорил бы)

Sergey
26.06.2017
12:14:56

Max
26.06.2017
12:16:10

Sergey
26.06.2017
12:16:23
если оперировать чисто данными, то в итоге заимеем анемичную модель с геттерами и сеттерами

Max
26.06.2017
12:21:29

Google

Max
26.06.2017
12:22:24
и кстати хороших вопрос почему doctrine при гидрации не создает сущности через new

Артур Евгеньевич
26.06.2017
12:25:30
?
Я говорю как сейчас есть на проекте
А не свою точку зрения

Sergey
26.06.2017
12:33:57

Sergey
26.06.2017
12:35:40

Sergey
26.06.2017
12:36:24
у Егора своя точка зрения, бесполезно спорить с ним и переубеждать. у него в принципе свои мотивы для такой точки зрения, о чем не раз уже озвучивалось

Sergey
26.06.2017
12:36:25

Sergey
26.06.2017
12:36:50
конструктор кстати приватным может еще быть
а вообще там целая движуха с кешированием и клонированием в https://github.com/doctrine/instantiator

Sergey
26.06.2017
12:37:32
но основная идея в persistenace ignorance, что бы сущности вообще ничего не подозревали о том что их кто-то хранит.
а вот data model - там да, там пофигу

Max
26.06.2017
12:39:50
а чем не нравится рефлексия?)
Ну тут рефлексия не причём)) ну тип в идеальном ддд мире все состояние всех сущностей хранится в памяти приложения, а бд это уже техническое ограничение

Denis
26.06.2017
12:45:08
Как вам https://github.com/paoesco/cargotracker-ddd в качестве примера DDD?

Evgeniy
26.06.2017
12:49:12
ебать, знаите почему ддд гавно?)

f4rt~
26.06.2017
12:49:18
?

Evgeniy
26.06.2017
12:49:23
потому что оно сложное и куча трактовок

Sergey
26.06.2017
12:49:29
?

Evgeniy
26.06.2017
12:49:33
все что сложно, там гарантированно накосячат

Max
26.06.2017
12:49:35

F01134H
26.06.2017
12:49:50
я не учу ддд, слишком хардово для моего мозга

Google

f4rt~
26.06.2017
12:49:59
хотя я где-то читал, что самый, чуть ли не ключевой плюс ддд это общение с заказчиком

Evgeniy
26.06.2017
12:50:05
везде где неточные определения и есть возможность шагнуть в сторону, там найдутся извращенцы и сделают такое

f4rt~
26.06.2017
12:50:33
как и тесты))

Evgeniy
26.06.2017
12:50:41
поэтому и возникает такие срачи

f4rt~
26.06.2017
12:50:45
интересно какими благими намерениями начиналось)

Evgeniy
26.06.2017
12:51:07
все штуки изначально вымощенны благими намерениями

f4rt~
26.06.2017
12:51:10
хотя у нас на проекте один PM пишет тесты

Evgeniy
26.06.2017
12:51:18
но появлялись извращенцы и ухоидили в ад)

f4rt~
26.06.2017
12:51:24
иной раз что бы объяснить что он хочет в реализации(псевдо тесты)

Evgeniy
26.06.2017
12:51:58
он хочет bdd
похоже умными словами это так называется

f4rt~
26.06.2017
12:52:11
хочет

Evgeniy
26.06.2017
12:52:26
но ему по губам поводят и не дают)))

f4rt~
26.06.2017
12:52:33
в точку ;D
??

Evgeniy
26.06.2017
12:53:12
жиза
есть теория есть жиза
с точки зрения иногда все красиво расписано
но в команде если все ложили на теорию они фигарят как обычно

Google

Evgeniy
26.06.2017
12:54:01
и пока уровень команды не выростит пиши ты хоть в ddd хоть как
другие наговнокодят
даже если введешь code review
ты станешь уским местом
потому что ты или ревьюишь весь код команды и обучаешь всех

f4rt~
26.06.2017
12:54:52
Не ну есть хорошие штуки и практики для работы с говнокодом, лично мне кажется кодекс бойскаута от дяди боба в реальном мире работает чуть эгоистичнее

Evgeniy
26.06.2017
12:54:56
а они из раза в раз повторяют косяки одни и теже

f4rt~
26.06.2017
12:54:57
я ответственный за код который написал я)

Admin
ERROR: S client not available

f4rt~
26.06.2017
12:55:05
и я должен сделать его лучше)

Evgeniy
26.06.2017
12:55:13
это понимаешь ты
но есть люди которые тупо закрывают таски кучами
фигачят говно код
как итог ты за спринт закрыл 1 таску
он закрыл 10
для бизнеса он важней и лучше и его слушать стоит

Dmitriy
26.06.2017
12:56:16
а ты не эффективен )

Evgeniy
26.06.2017
12:56:17
но потом поддержка твоей таски дешевле, а 10 тасков что он навпиливал фитч
будут баги
а кто сможет лучше разобраться в коде, тот кто его писал

Google

Evgeniy
26.06.2017
12:56:52
соответственно он будет быстрее фиксить баги в своем коде
а ты будешь долго его изучать с косяками в самых неожиданных местах
и как итог он опять эффективней с точки зрения бизнеса
и это жиза
значит его подход правильный и его будут масштабировать на команду
и он становится teamlead и уже почти не пишет код
и не поддерживает то что он там по написал а поддержке на тебе
потом появляется новый проект его уводят туда как эффективного
а вы поддерживаете его труды
по такому принципу и менеджеры путешествуют в крупных компаниях
при это не в одной методологиии не написано, но это факт как устроено все в жизни

Sergey
26.06.2017
13:01:22
аж слезу пустил

Like
26.06.2017
13:03:48
А так, если его код просмотрят, то он станет хуже человека который сделал только 1у таску)

Evgeniy
26.06.2017
13:04:51
кто посмотрит?
проект менеджер?)

Like
26.06.2017
13:05:00
Тот же тимлид

Evgeniy
26.06.2017
13:05:33
проект обычно начинается с того что выделяют ресурсы

Like
26.06.2017
13:05:36
Да любой, кто выше его по "званию"(скиллу) :D
Звучит не плохо

Evgeniy
26.06.2017
13:05:46
эти ресурсы в виде 1 пм на пол ставки и програмиста
и там нет адекватного тимлида