@oop_ru

Страница 261 из 785
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

Google
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
ну те Data Driven =)
только это ж не data driven, там главное поведение и язык

Sergey
26.06.2017
12:16:23
в data driven - ?
ddd это не data driven, я об этом

если оперировать чисто данными, то в итоге заимеем анемичную модель с геттерами и сеттерами

Max
26.06.2017
12:21:29
если оперировать чисто данными, то в итоге заимеем анемичную модель с геттерами и сеттерами
ну да, я бы сказал ddd это в первую очередь code first - сперва описываем доменную логику, а потом уже прикручиваем базу, абстракции для внешних интерфейсов и тд и тп

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

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

А не свою точку зрения

Sergey
26.06.2017
12:35:40
Тут Егор Бугаенко поспорил бы)
Sergey ты ж вроде лично даже с ним холиварил, не?)

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

Sergey
26.06.2017
12:36:25
и кстати хороших вопрос почему doctrine при гидрации не создает сущности через new
потому что вызов конструктора в цикле жизни сущности должен происходить ровно один раз. Сущность не знает что ее хранят, она думает что она существует вечно в памяти.

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
все что сложно, там гарантированно накосячат

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
и как итог он опять эффективней с точки зрения бизнеса
Ну если он не senior и его код не смотрят (10 задач которые он сделал) - да

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

и там нет адекватного тимлида

Страница 261 из 785