
Evgeniy
23.07.2017
17:46:45
и представляет инфу о 4 вариантах с плюсами и минусами
и после этого выбирают подход и решают им подобные случаи
если выбор окажется неправильный то меняют его, а также меняют все решения принятые по неверному подходу (рефакторят)
это не поток сознания так в идеальном случае должно быть

Google

Sergey
23.07.2017
17:48:03
1. самодурство это плохо, если у тебя есть команда
2. у каждого способа есть свои плюсы и минусы - тебе надо очень хорошо понимать проблемы которые тебе надо решать и потом уже выбирать подходы
3. команда участвует в формировании стратегии
4. все эти правила можно нарушать в угоду скорости разработки. Например если ты разбил на модули а потом всплыло что не правильно разбил. ибо тогда чего-то не понимал. Это нормально и просто потом рефакторится.
мое мнение - большинство не особо четко понимает проблемы которые есть на проекте
и потому выбирают не совсем верные подходы
проиграть тут легко

Evgeniy
23.07.2017
17:48:52
или не хочет понимать или не заинтересован

Sergey
23.07.2017
17:49:02
потому проще не загоняться и просто делать регулярно ретроспективы и оценку состояния дел
у меня интересный опыт тут есть

Evgeniy
23.07.2017
17:49:37
мы на ретрах техническую часть не обсуждаем
к сожалению
надо предложить будет обсуждение технических вещей и тех ретро

Sergey
23.07.2017
17:50:23
типа есть проект, и на нем есть определенные проблемы в плане организации работы, декомпозиции (даже на не уровне кода а банально разделение труда не эффективно организовано), и есть люди которые "наверху", которые как буд-то бы живут в своей вселенной и думают что все делают правильно, игнорируя всю инфу снизу и блокируя ее. В основном для того что бы задницу себе прикрыть
мы на ретрах техническую часть не обсуждаем
ну мы обсуждаем только то что всю команду аффектит, а так у нас есть раз в 2 недели просто общие митинги бэкэндщиков где мы обсуждаем проблемы и то что мы видим "плохо мол надо что-то делать"

Google

Sergey
23.07.2017
17:51:29
ой, раз в неделю

Evgeniy
23.07.2017
17:51:30

Sergey
23.07.2017
17:51:39
организуй) вещь полезная)

Evgeniy
23.07.2017
17:51:41
надо эту идею перенять

Sergey
23.07.2017
17:51:43
если только этим заниматься

Evgeniy
23.07.2017
17:51:51
у нас чатик есть в слаке
я там обычно гавно на вентилятор кидаю или разъебываю модули0

Sergey
23.07.2017
17:52:06
сразу скажу - мы когда начинали - первые месяца 3 наверное я могу оценить полезность сего мероприятия как "люди собрались и поныли"

Evgeniy
23.07.2017
17:52:18
да
я вот думаю как эту стадию пропустить бы)
я сам ною часто как плохо
и предлагаю роад мап по улучшениям
но все приходится или делать самому
правя другие таски

Sergey
23.07.2017
17:53:15
1. собери у людей проблемы, то есть пара митингов у тебя всеравно будет с нытьем
2. назначать ответственных по проблемам что бы люди думали как проблемы решать и потом презентавали решения возможные

Evgeniy
23.07.2017
17:53:16
потому что все заняты тущениями пожаров

Sergey
23.07.2017
17:53:26
без второго пункта активных участников будет ну может 1-2
и они потом перегорят)
как со мной было

Evgeniy
23.07.2017
17:53:37
у нас чуть чуть демократично все)

Google

Evgeniy
23.07.2017
17:53:40
и все равноправны

Sergey
23.07.2017
17:53:59
так че, тут все демократично - сначала спрашиваем кто хочет заняться - а потом если никто не вызвался - рандом

Evgeniy
23.07.2017
17:54:04
но идея начать с тех митингов и общения по бэкенду это здорово
кого что бесит
в бэкенде и что надо править
на основе этого брать таски в спринт

Sergey
23.07.2017
17:54:36
хотя бы повышать приоритет.

Evgeniy
23.07.2017
17:54:42
спс Сергей, попробую предложить

Sergey
23.07.2017
17:55:01
вообще если у тебя есть представления о бэклоге на 1-2 спринта в перед - то легко приоритизировать что надо фиксить и закладывать это в сами задачи

Evgeniy
23.07.2017
17:55:04
надо записать в конце спринта на ретро предложу)
проблема в том что у нас большинство решений что мы делаем
придется переделывать((( по чуть чуть

Evgeniy
23.07.2017
17:57:13
наш сервис это некий агрегатор над другими сервисами разного уровня кривизны

Sergey
23.07.2017
17:57:19
по чуть чуть, тут главное терпение

Evgeniy
23.07.2017
17:57:26
это да

Sergey
23.07.2017
17:57:27
и понимание того как какие-то проблемы вас аффектят
у меня на проекте есть парочка моих "косяков" которые тянутся уже полгода и я все хочу этим заняться но... оно не очень болит, просто не красиво и неудобно

Evgeniy
23.07.2017
17:57:54
я уже хотел тех талки предложить
но забыл чето
я предлагал совместное обучнеие

Google

Sergey
23.07.2017
17:58:10
у нас это практиковалось раньше....
но чет как-то заглохло

Admin
ERROR: S client not available

Evgeniy
23.07.2017
17:58:27
чтобы в команде делится знаниями (у людей скилл подрос) ну и менятся знаниями о системе
потом начал стримить в том числе для нас
но сейчас на работе только я кидаю ссылки
на обучение или семинары

Alexey
23.07.2017
17:59:34
хотя бы повышать приоритет.
Отошел на 5 минут. +200 сообщений. Например я хочу получить посты авторо которого foo barович. При Applicatio level join. Я обращаюсь к репозиторию модуля и достаю оттуда id. Далее кидаю запрос в модуль постов и получаю их. Все эио соединяю и отдаю юзеру. В sql просто через джоины фигачу запрос и получаю ответ. А все это будет хранится в некотором модуле ui, который я создал специально для репрезентации данных. Все верно я понял?

Sergey
23.07.2017
18:00:26
тип того, идея такая
http://qualityisspeed.blogspot.com.by/2014/09/beyond-solid-dependency-elimination.html


Alexey
23.07.2017
20:37:10
тип того, идея такая
Я в тупике. Раньше я делал так. У меня есть бандл. В нем стандартное дерево каталогов. В папке controller было разделение на admin/frontend и api если нужно. Меня заинтересовал вопрос разделения структуры проекта, так как количество сущностей в каталоге Entity возрастает с каждым днем. И мне это очень не нравится. Мне понравился подход с разделением на модули. Но получается теперь необходимо создавать 3 отдельных модуля под api, frontend и admin( а так же console), которые будут разруливать запросы к приложению. То есть в этих папках будут желать контроллеры, action'ы, которые будет взаимодействовать с каждым модулем в проекте. То есть они будут знать обо всем. Это нормально?
Я не могу прийти к удовлитворительному уровню декомпозиции системы. Или не обращать внимания на большое количество файлов в директориях ?)
Может кто поделиться организацией больших проектов ?)


Sergey
23.07.2017
21:05:58
> То есть они будут знать обо всем. Это нормально?
ну не обовсем, если у тебя есть 4 модуля которые знают о всех остальных модулях и все юзают одно и то же - то имеет смысл объеденить в один
вообще вся проблема в использовании структуры как способе нейминга что не хорошо. Это и папки Entity, и всякие SomethingRepository

da horsie
23.07.2017
21:06:32

Sergey
23.07.2017
21:06:55

f4rt~
23.07.2017
21:07:01
?

da horsie
23.07.2017
21:07:55

Sergey
23.07.2017
21:08:05
одно поведение, диктуемое одной конкретной ролью

Google

Sergey
23.07.2017
21:09:03
там есть ссылки на другие примеры
ну то есть в этой фразе что мол у нас теперь все кохизив - это упрощено
по факту у тебя реально разделение проекта произошло так, что бы максимально минимизировать количество зависимостей, что приводит собственно к кохизив. А если минимум зависимостей и все кохизив - значит и SRP мы соблюдаем
это считай "эталон" даже
p.s. я так и не дочитал про responsibility driven design, но там в целом схожие идеи были
а это типа источник вдохновения был у Боба когда он SRP сочинял
там и про выделение ролей, и про зоны ответственности, и про их пересечение и как их избегать
хотя в целом SRP и есть high coheasion + low coupling

Hell
24.07.2017
06:44:56
https://gist.github.com/hellboy81/b1868aa7316e9905c210f5876521c957
у меня вопрос: то, что по ссылке - это антипаттерн?
там 2 if делают одно и тоже в клиентском коде и коде поставщика