Апрель 2017 →
Январь 2019 →
Обсуждение структуры проекта
“Мне примеры не нужны, я их тонну видел”
“Ты принимаешь решения?”
10 лет опыта
Больная мозоль
“Меня все считают заносчивым”
Неоказанная услуга себе и “фирме”
BBWT3 Developers - “понимание приходит с опытом”
BBWT3 Developers - да будет срач
Претензии в личку
Люди ничего не замечали
“За базар надо отвечать”
“наговорился на увольнение”
Ультиматум
Vincent, 14:55
Привет! Мне кажется тут будет быстрее обсудить что-то по ббвт3)
Alex, 14:55
Привет
Vincent, 14:55
ты не в гитлабе?
Vincent, 14:56
https://gitlab.bbconsult.co.uk/blueberry/bbwt3/tree/develop
Alex, 14:56
нет
Vincent, 14:56
текущую структуру можно вот тут посмотреть
Alex, 14:56
ок, щас. спасибо
Alex, 14:57
не пускает
Vincent, 14:57
зашел под LDAP именем?
Alex, 14:57
да
Vincent, 14:57
там еще google authenticator )
Vincent, 14:57
ну вот скрин
Vincent, 14:58
изначально придерживался идей ббвт2, но попутно уже избавился от лишней сборки DTO
Alex, 14:58
ага, вижу
Alex, 14:59
надо все обьединять
Vincent, 14:59
Services тоже весьма сомнительная сборочка.
Vincent, 14:59
всё не получится )
Alex, 14:59
у меня же получилось:) щас
Vincent, 15:00
Data.MySQL и Data.SqlServer - отдельно, т.к. в каждой свои миграции
Alex, 15:00
да, с этим не спорю
Vincent, 15:00
в итоговом проекте на основе такого “движка” я согласен что можно получить тупо example.WebApp и там всё внутри )
Vincent, 15:01
внутри Services сейчас лежит еще и MappingProfiles для автомаппера
Alex, 15:01
Data, Domain, Dto, Serviseces - это все чушь
Vincent, 15:02
Domain первое что я выкинул
Vincent, 15:02
смотри, Мартин предполагает что будут проекты с несколькими клиентами - Web+Mobile
Vincent, 15:02
в таком проекте я бы вынес Api отдельно
Alex, 15:03
это можно
Vincent, 15:03
чтобы мобильное приложение взаимодействовало с Api а не с контроллерами Web-приложения
Vincent, 15:04
но в таком случае иметь сборку Services (Core/Application - не важно) тоже вполне оправданно - чтобы Api и Web пользовались ей для маппинга и работы с конекстом
Alex, 15:05
ну не знаю, реальная нужда есть?
Alex, 15:05
это все теория
Alex, 15:05
а структуру директорий надо подделживать всегда
Alex, 15:06
и чем меньше дупликатов тем легче
Vincent, 15:06
ты из Api добавишь референс на Web ?
Alex, 15:07
еще не уверен в необходимомти Api. Web уже имеет HTTP api
Vincent, 15:08
меняешь в вебе по неосторожности пару апи-методов, расширяешь json для нужд админки и т.д. - мобильное приложение падает, т.к. использовало тот же ендпойнт
Alex, 15:09
я не в курсе деталей реализации
Alex, 15:09
возможно и не получится
Alex, 15:10
но я бы приложил максимум усилий
Vincent, 15:10
это всего лишь пример, когда целесообразно выделить апи в отдельный проект
Vincent, 15:10
на твоем скрине всё по features разделено? :)
Alex, 15:10
да
Alex, 15:11
это всего лишь пример, когда целесообразно выделить апи в отдельный проект
мне примеры не нужны, я их тонны видел
Alex, 15:12
меняешь в вебе по неосторожности пару апи-методов, расширяешь json для нужд админки и т.д. - мобильное приложение падает, т.к. использовало тот же ендпойнт
вообще подозрительный аргумент. почему оно должно падать?
Alex, 15:13
неосторожность это не довод, она может быть везде
Alex, 15:13
расширять интерфейс можно и с обратной совместимостью
Vincent, 15:13
вообще подозрительный аргумент. почему оно должно падать?
потому что ты убрал пару полей, а мобильным приложением занимается отдельная команда?
Vincent, 15:14
не все заботятся об обратной совместимости, это уже вопрос культуры )
Alex, 15:14
это в BB?
Alex, 15:14
это реальный пример? вот будет отдельная команда они и вынесут
Alex, 15:15
не надо в базу стараться запихнуть все
Vincent, 15:15
зачем вообще базовый проект?
Alex, 15:18
это вопрос не ко мне. Но не для того чтобы зафигачить самое умное разделение по проектам. Кстати у тебя на картинке разбиение не по фичам.
Alex, 15:18
А это очень плохо
Vincent, 15:19
фичи это opinionated approach :)
Alex, 15:19
это кто сказал.
Alex, 15:19
?
Vincent, 15:19
для веб проекта я взял за основу aspnetcore-spa генератор
Alex, 15:19
генератор генерирует код для hello world
Alex, 15:20
это не масштабируется с ростом проекта
Vincent, 15:20
ты хочешь в папки с Angular приложением пихать дто-шки?)
Alex, 15:20
конечно
Alex, 15:20
в чем проблема
Alex, 15:20
?
Alex, 15:21
у меня уже 4 проекта таких
Vincent, 15:21
вот тут разделение по фичам (angular)
Vincent, 15:21
потому что он весь из себя такой компонентный
Alex, 15:21
да и это деление тебе надо повторить еще в неск местах
Vincent, 15:22
это кто сказал?)
Alex, 15:22
подожди, какова твоя роль и ответственность?
Alex, 15:22
ты принимаешь решения?
Alex, 15:23
у тебя есть опыт работы с большими проектами?
Vincent, 15:23
))
Alex, 15:23
пока что я этого не вижу, уж извини
Vincent, 15:23
не переживай, не первый раз открыл VS
Alex, 15:24
а статьи про разделение по фичам есть и у МС
Alex, 15:24
не переживай, не первый раз открыл VS
конкретней пожалуйста
Alex, 15:24
резюме можно глянуть?
Vincent, 15:24
это вопрос не ко мне. Но не для того чтобы зафигачить самое умное разделение по проектам
ну а зачем тогда нам всё-таки базовый проект?
Alex, 15:26
чтобы показать базовые приемы и утилиты. Правильную структуру директорий основанную на словаре клиента.
Vincent, 15:26
но там же нет клиента
Alex, 15:26
но словарь то есть. ордера есть.
Alex, 15:27
значит есть домен
Alex, 15:27
и базовый генерализованый клиент
Alex, 15:28
ладно, извини мне работать надо. все таки хотелось бы узнать побольше о тебе и роле. если хочешь детальной дискуссии.
Vincent, 15:29
аналогично)
Alex, 15:29
я первый спросил. кроме того я явно покруче тебя выгляжу:)
Vincent, 15:30
я не стараюсь выглядеть круче)
Alex, 15:30
есть страничка с навыками в PTS
Vincent, 15:30
хм. да, но ты же там сам проставляешь значения?)
Alex, 15:30
тем не менее нам надо как-то оценивать окруж людей
Alex, 15:31
за неимением лучшего
Alex, 15:31
ладно у меня 10 лет проф опыта. у тебя сколько?
Vincent, 15:31
а ты у всех резюме спрашиваешь, прежде чем вести дискуссию?)
Alex, 15:32
хорошо, я могу ее просто прекратить. просто ты говоришь много глупостей. поэтому я начал о резюме.
Alex, 15:32
твоя инициатива была, я тебя оказываю щас услугу. дальше как знаешь.
Vincent, 15:33
спасибо, я получил что хотел)
Alex, 15:33
пожалуйста
Alex, 15:34
ну если обиделся, так это стандарт в ББ
Vincent, 15:34
я не обиделся)
Vincent, 15:34
у меня тоже 10 лет
Vincent, 15:35
прости что побеспокоил)
Alex, 15:35
просто я эту лажу уже терплю много лет, и ты потревожил больную мозоль
Alex, 15:36
я в общем в письме это и написал
Vincent, 15:36
буду рад обсудить с тобой другие вопросы. например текущее состояние по разделению на Role/Group/Companies - сейчас они пытаются то же самое повторить в ббвт3
Alex, 15:38
ну это не так важно. пока нет согласия по разделению по фичам я считаю что нет согласия во основам. Просто нет смысла беспокоить мою многострадальную мозоль.
Alex, 15:41
кстати разделение по фичам это вполне доказуемо. Например в Algorithms to live by это объясняется.
Alex, 15:42
Просто это тип рассуждений незнакомый большинству.
Alex, 15:42
кроме того это literate programming
Vincent, 15:43
я считаю реализацию конкретного функционала важнее, чем вопросы структуры проекта.
т.к. в случае “а давайте снова перепишем всю прослойку безопасности” есть реальные последствия, если сделано не очень хорошо.
в случае со структурой - вопрос удобства конкретного человека.
в этом плане я вижу смысл пока сохранить нечто похожее на ббвт2, чтобы разработчики не осваивали полностью новый фреймворк а примерно ориентировались в коде - это один из приоритетов менеджеров “легкий переезд”
Alex, 15:44
в случае со структурой - вопрос удобства конкретного человека.
Это ты так считаешь пока не знаешь научных фактов против.
Alex, 15:44
а это время на зрительный поиск и сортировку
Alex, 15:45
вопрос на засыпку, ты пробовал разделение по фичам на большом проекте?
Vincent, 15:45
не пробовал
Vincent, 15:45
почему не сделали так в ббвт2?
Alex, 15:46
потому что это делал Дима
Alex, 15:46
ты во всем с ним согласен? думаешь он пробовал разделение по фичам?
Vincent, 15:46
ок. но потом ведь ты пытался всех образумить?
Alex, 15:47
думаешь у него нет таких же аргументов как у тебя?
Alex, 15:47
я пытался
Alex, 15:47
(devil)
Alex, 15:47
(:|
Vincent, 15:48
у всех есть свои аргументы, но не всё сводится к тому чтобы убеждать именно тебя, отец)
особенно если ты “устал их слушать”
Alex, 15:48
перечитай про алгоритмы
Alex, 15:48
и найди противопоставление
Alex, 15:49
у всех есть свои аргументы, но не всё сводится к тому чтобы убеждать именно тебя, отец)
особенно если ты “устал их слушать”
если бы все мнения так отвергались как вы это делаете, дискуссии в науке были бы плачевны
Alex, 15:49
все ушел работать
Alex, 15:50
вообще досаточно опросить людей который пробовали то и другое. их уже не мало.
Alex, 15:50
все, ушел
Vincent, 15:51
так давай опросим
Alex, 15:51
давай
Alex, 15:51
меня просто это уже достало, что-то предлагать
Vincent, 15:51
ты будешь всех переучивать, если ббвт3-4-5 будет таким, как ты его видишь?
или посоветуешь учить матчасть?
Alex, 15:52
давай по порядку, сначала опрос
Alex, 15:52
а потом и спорить не надо будет
Vincent, 15:52
ну не выкидывать же всех, кто не умеет в “фичи”
Alex, 15:53
не умеет что?
Alex, 15:54
можно опросить и на тему как легко было этому научиться. ради прикола.
Vincent, 15:55
займешься?
Alex, 15:56
нет. меня все считают заносчивым и еще х знает чем. Половина обижены. За исключением тех с кем я работал в команде.
Alex, 15:57
Все началось с Мартина. Ну а потом каждому следующему легко было присоединиться.
Alex, 15:57
Начни ты. Я поддакну.
Alex, 15:57
если что
Vincent, 15:57
а как это началось с Мартина?) он же тебя включает в рассылки
Vincent, 15:58
хорошо, я подумаю как это лучше сделать
Alex, 15:58
да, после неск лет ссылки
Alex, 15:59
ну он не глупый парень, наверное уже понял что в начале было недоразумение
Vincent, 15:59
думаю, немаловажным будет параллельно с демонстрацией двух структур описать benefits/drawbacks каждой из них
Vincent, 15:59
напиши или ткни меня в список, который ты считаешь исчерпывающим на тему разделения по фичам
Alex, 16:00
гм, все это теории. Голосования будет достаточно, так споров не будет. Мартин это не любит.
Vincent, 16:01
Мартин мне кажется ни за что не согласится на “ок, вас было на 5 человек больше - значит это правильно”… ему всегда нужны такие списки и объяснения
Alex, 16:03
блин, у меня нет на это время. Пусть выделяют мне время. Тогда я и нервничать не буде. А то краду время из проектов, а результата ноль.
Vincent, 16:03
ок, понял тебя
Vincent, 16:03
давай работать
Alex, 16:17
возможно я смогу подготовить небольшой опросник. в не рабочее время. кое какие аспекты стали вырисовываться.
Alex, 16:44
кстати, если ты намекнешь босам, что надо меня привлечь к BBWT3 и это увенчается успехом, то этим окажешь и себе и фирме услугу.
А то что меня включили в рассылку является результатом нескольких конфликтов с Дэвидом и менеджерами этой зимой.
Я вышел из них победителем но друзей мне это не добавило. Как-то так. Если захочешь послушать истории можно созвониться по скайпу на досуге.
Я печатаю на русском очень медленно.
Alex, 16:48
и себе и фирме услугу
ну а с меня бесконечную признательность
Alex Crome, 16:18
Про автогенерацию .d.ts из DTO. Ее действительно нет, или я что-то упустил?
Val, 16:18
нет автогенерации
Val, 16:18
а где она есть?
Alex Crome, 16:19
да в куче проектов. По сути во всех над которыми я работал. Ну и Антон Меняйло. Это он ее первоначально нашел.
Alex Crome, 16:19
Очень экономит силы
Alex Crome, 16:19
и прикручивается быстро
Val, 16:19
Из чего генерятся интерфейсы? из DTO?
Alex Crome, 16:20
да. По шаблону. Шаблон можно редактировать.
Alex Crome, 16:20
но обычно редактировать не надо. Это уже экзотика.
Paul Anderson, 16:22
Чем?
Paul Anderson, 16:22
Я видел только расширение для VS
Paul Anderson, 16:22
Но для dotnet core целый зоопарк IDE
Paul Anderson, 16:22
И каждый пользует свою
Alex Crome, 16:23
да надо расширение ставить. Те кто студию не юзает могут продолжать делать руками.
Val, 16:23
я вообще классы использую. ES6 во всей красе, так сказать
Paul Anderson, 16:24
Малость радикально
Paul Anderson, 16:24
Если очень нужна такая фича то неплохо придумать как это будет работать внутри проекта а не средствами IDE
Alex Crome, 16:26
Если очень нужна такая фича то неплохо придумать как это будет работать внутри проекта а не средствами IDE
пока что такого способа нет. Для TypeWriter по крайней мере. Но даже без этого оно того стоит. И еще как.
Paul Anderson, 16:27
Ну как бы я тож работал с TypeWriter-м на проекте+с генерирующимися сервисами из контроллеров. Приятно но ничего такого критичного
Paul Anderson, 16:28
Хотя ничего не мешает поставить себе TypeWriter, главное чтобы это не затронуло остальных
Alex Crome, 16:31
Приятно но ничего такого критичного
комфорт он из таких вещей и складывается. А если надо кучу DTO крутить то автоматическая полная типизация это очень приятно. Без всяких ручных недоделанных интерфейсов, any, и прочего мазохизма.
Adrian, 16:32
я тоже не очень понимаю суть диалога, Алексей, если тебе нравится пользоваться этим - пользуйся ради бога, а то кажется ты уже всем навязываешь :)
Alex Crome, 16:33
ни в коем случае. Наше дело предложить.
Val, 16:33
Пол проекта на ANYscript написаны, если что:)
Alex Crome, 16:34
Пол проекта на ANYscript написаны, если что
гордиться нечем
Val, 16:34
Я в курсе, это так, к сведению. Не с того копать начинаешь
Alex Crome, 16:37
Не с того копать начинаешь
Гы, ну ладно. Как вы быстро меня на чистую воду вывели. Молодцы.
Alex Crome, 16:38
Я в курсе, это так, к сведению.
Я предлагаю кучу типизации почти задаром…
Val, 16:41
Блин, это не типизация, а автоматизация. Все равно вижу кучу Promise
Alex Crome, 16:42
то не типизация, а автоматизация.
автоматизация типизации если быть точнее
Alex Crome, 16:43
Все равно вижу кучу Promise
если не облегчать типизацию то так оно и останется
Val, 16:44
От того, что ты создал интерфейс, ничего не стало типизированным еще.
Даже больше, если ты делаешь каст объекта с 10 полями к ISomeFancyInterface, в котором описание всего 4х из них, те 6 “лишних” никуда не денутся. Более того, даже если типы не совпадают, никаких рантайм ошибок не будет
Marshall, 16:44
есть же генерилки онлайновые
Marshall, 16:45
нафига какието IDE приблуды юзать, если мы в опенсорсе какбы
Marshall, 16:45
и юзаем разные IDE
Alex Crome, 16:47
понимание приходит с опытом. Вот поработаешь над десятком проектов. Попробуешь то и другое, тогда поймешь.
Vincent, 16:47
Alex, странно что твоя первая претензия не по поводу отсутствия организации проекта на основе Features ))))
Robert, 16:47
опытный чтоли?
Vincent, 16:47
батя в здании
Alex Crome, 16:47
опытный
Robert, 16:47
какой лвл?
Adrian, 16:47
мы тут все болото, видимо, парни. Нас пришли научить уму разуму
Alex Crome, 16:48
а что стыдиться?
Vincent, 16:48
не обращайте внимания, он эти песни несколько лет поёт )
Alex Crome, 16:48
я предложил. Трольте в свое удовольствие.
Alex Crome, 16:48
Винс, да было дело я патался тебе объяснить. И сожалею.
Owen, 16:49
а вот скил коммуникаций около нуля…
Robert, 16:49
попроще общайся а то ворвался и опытом давит )
Marshall, 16:49
лан, че вы сретесь то :)
Alex Crome, 16:49
зато у вас видно коммуникация зашкаливает
Vincent, 16:49
Винс, да было дело я патался тебе объяснить. И сожалею.
а воз и ныне там да, отец)
Adrian, 16:49
Александр, если у тебя есть сногсшибательное предложение, то его можно написать письмом на developers, подключить туда Мартина, Дункана. Решить это совместно.
Vincent, 16:50
я считаю что на проекте дофига проблем гораздо важнее этого стайлдрочерства и прочего тайчи и феншуя
Val, 16:50
я считаю что на проекте дофига проблем гораздо важнее этого стайлдрочерства и прочего тайчи и феншуя
дико плюсую
Adrian, 16:50
+
Vincent, 16:51
Александр, если у тебя есть сногсшибательное предложение, то его можно написать письмом на developers, подключить туда Мартина, Дункана. Решить это совместно.
Мартину пишите сразу, он опытный и знает как работать с данным персонажем )
Alex Crome, 16:51
ты о чем?!
Alex Crome, 16:51
может хватить хамить?
Adrian, 16:51
парни, может вы уж тогда в ЛС посретесь :)
Vincent, 16:52
только конструктив, чо вы
Alex Crome, 16:52
Винс обиделся видимо очень. За прошлый раз. Еще раз извиняюсь. Только хамить не надо.
Vincent, 16:52
пфф)))
Vincent, 16:55
Хамство — тип поведения человека, отличающийся грубым, наглым и резким способом общения.
Alex, 17:43
Как удачно ты вспомнил обиду двухлетней давности. И даже упомянул о наших разногласиях с Мартином о которых я же тебе тогда и рассказал… Просто нет слов. Никогда с таким еще не сталкивался.
Vincent, 17:43
а что тебе не понравилось?)
Alex, 17:43
А ты со стороны на себя посмотри
Alex, 17:44
может заметишь что
Vincent, 17:44
смотрел
Vincent, 17:44
вроде всё ок
Alex, 17:46
то есть подобные вбросы как ты сегодня сделал это по-твоему ок?
Vincent, 17:46
с такими как ты более чем
Alex, 17:47
да ты со мной много видимо поработал
Vincent, 17:47
господь уберег))
Alex, 17:48
откуда такие знания?
Alex, 17:48
всеобъемлющие моей персоны
Alex, 17:48
первый раз сталкиваюсь с такой уверенностью и знаниями меня
Vincent, 17:49
заняться больше нечем, непризнанный гений?
Alex, 17:50
пытаюсь понять. Ты ведь кучу гадостей в общем чате написал.
Alex, 17:50
и продолжаешь хамить
Alex, 17:51
люди с которыми я работаю ничего подобного тому что ты заявляешь не замечали
Alex, 17:53
они наверняка меня лучше знают, следовательно ты наверняка ошибаешься.
Alex, 17:53
логично?
Vincent, 17:53
ты попробуй этих людей прямо спросить, а не делать выводы за всех)
Alex, 17:54
отношение людей видно, об этом не надо спрашивать
Alex, 17:54
и никто такого поведения как ты и близко не демонстрировал
Vincent, 17:54
тогда перефразировать надо что от людей, с которыми ты работал, ты ничего подобного не видел
Alex, 17:55
допустим. Все равно получается дело в тебе.
Vincent, 17:56
да, то что я позволяю себе в открытую показывать негатив в твою сторону - мой осознанный выбор )
Alex, 20:58
Еще по поводу твоего упоминания Мартина. Или ты извинишься за это, или я попрошу Мартина объяснить тебе как он со мной работает. За слова надо отвечать.
Vincent, 21:04
чё, мозоль?)
Alex, 21:04
За базар надо отвечать.
Alex, 21:04
Если обсираешь прилюдно
Alex, 21:04
согласен?
Vincent, 21:04
так давай я и отвечу прилюдно
Alex, 21:05
ответишь на что?
Alex, 21:05
Ты ведь по сути трепался. Поскольку как мы с Мартином работаем сам свидетелем не был.
Vincent, 21:06
не на что, а за базар, придурок
Alex, 21:06
Ладно. Будешь разбираться с Любой и Мартином
Alex, 21:06
Удачи
Vincent, 21:07
ууу, нажалуешься им?)
Alex, 21:07
а почему бы и нет. Ты не прав. Значит я имею право на контрмеры.
Alex, 21:07
Не морду же тебе бить.
Alex, 21:08
Ты же трепался?
Vincent, 21:10
Мартину пишите сразу, он опытный и знает как работать с данным персонажем )
вот это тебя задело?)
Alex, 21:11
да
Vincent, 21:12
где я тут не прав?
Alex, 21:13
Если не видишь, тебе объяснят.
Alex, 21:14
Если я не прав может и мне объяснят. Но имхо ты уже наговорился на увольнение.
Vincent, 21:15
хаха
Vincent, 21:15
ой ну извините, обидели дяденьку)))
Alex, 21:16
извинись в общем чате. И скажи что берешь эти слова обратно. Я думаю это будет не сложно. Особенно если ты действительно ничего плохого не имел в виду.
Alex, 21:17
Просто у меня действительно были терки с Мартином. Но это в прошлом и наше дело. А сплетничать об этом не стоит.
Vincent, 21:18
ааа, ну то есть я прав был?
Alex, 21:18
прав в чем что были терки? так я тебе об этом еще тогда рассказал
Alex, 21:19
терки у всех бывают
Alex, 21:21
короче, или ты делаешь то о чем я попросил, или я делаю то что сказал
Vincent, 21:21
хм.. даже не знаю. других нет вариантов?
Alex, 21:22
если видишь предлагай
Alex, 21:22
я предлагая самый простой
Alex, 21:22
взять ничего не значещее для тебя сообщение обратно
Vincent, 21:23
но блин, я же был прав, ты сам подтвердил
Alex, 21:24
я этого не подтверждал
Alex, 21:25
ладно, мне бежать надо. Надеюсь завтра до 12 по Москве ты решишь что делать.