Как стать автором
Обновить

Комментарии 6

Если вам необходимо внести изменения в правила ESLint, вы можете внести их в Shareable config, и эти изменения автоматически применятся ко всем проектам, использующим эту конфигурацию. Это значительно упрощает управление и поддержку кодовой базы.

Правильно ли я понимаю, что для того чтобы применить изменения, надо все таки в каждом проекте ручками обновить npm пакет?

Верно, впринципе как и при наличии своей ui библиотеки, при новом релизе вы забираете последнюю версию. В голове приходит максимум, автоматическое создание тикетов на обновление, на связанных проектах.

 многократное редактирование всех проектов может быть трудозатратным и неэффективным.

Почему многократное? Один раз сообщить всем - "парни, с понедельника у нас новое правило. Обновите свои конфиги, плзз". Разве это "трудозатратно и неэффективно" по сравнению с

и его последующая публикация в репозитории пакетов

и эти изменения автоматически применятся ко всем проектам

Точно автоматически? Или всё-же нужно будет совершить три действия - обновить общий конфиг; сообщить всем что конфиг обновился; и потом командам подтянуть этот конфиг.

Вместо того чтобы править конфигурации в каждом проекте, вы вносите изменения только в Shareable config и публикуете его. Это экономит время и уменьшает затраты на обслуживание.

Так затрат на обслуживание общего конфига до этого не было. Теперь эти затраты появились. И время не экономит, а расходует, т.к. количество телодвижений увеличилось на одно.

и вы сделаете дополнительную автоматизацию

Вы сделаете high cohesion. Автоматизировать нужно не всё подряд, а то, что регулярно и часто повторяется.

Спасибо за комментарий. Ну давайте разберемся:

1) Хей парни обновите, с понедельника свои конфиги не работает, по ряду причин:

а) разработчики заняты, у них нет времени
б) менеджементу на это нужна карточка, значит на это еще уйдет время
в) хорошо, если у вас две команды, если их много и не все читают чаты, то проблема с тем, чтобы информация дошла

г) из-за пункта а, б. Могут стать разные конфиги приведет к потере качества и уйдет та единость

2) Да, обновляем конфиг, но в одном месте, силами любого 1 разработчика, сообщить что обновился. Тут сразу скажу, что проблем не будет, потому что даже если разработчики это не сделают, на процессе CI, пакет сам обновиться до актуальной версии, и код если что просто не пройдет проверку

3) Затраты на обслуживание. Тут надо посчитать, что дешевле потратить, время N проектных разработчиков (а во время входит еще муторный процесс по созданию карточку с описанием свойства) или же дешевле занять пару кб, общей дисковой квоты, и немного ресурсов CI? Так что затраты на обслуживание были, в виде человеко часов. Телодвижения уменьшились, потому я не рассматриваю вариант, что вы такую настройку делаете, для одной двух команд

Не совсем понял про менеджеров и карточки)

Нет времени, заняты, много комманд. Это административный вопрос. Просто относится нужно также как и к любой другой задаче. Каким образом спустить эту инфу к лидам комманд - сообщить через чат всем, или создать задачу в таск-трекере.. понятное дело зависит от дисциплины, количества комманд, етс.

Также не совсем понял почему именно и что свалится в процессе CI. Вы ш уже административно поделили бизнес на команды. Они ж не просто так названы - команды. Это отдельные единицы со своим внутренним миром, со своими тараканами. Что-то обобщать - верный путь к переопределениям, иф-ам и т.д.

Тут надо посчитать, что дешевле

Именно. Уже ш подсчитали в умных книжках. Если процесс частый и регулярный - делаем автоматизацию. Если раз в пятилетку - нет (копи-паст выгоднее). На самом деле ноги ростут из подсознательного желания чтоб всё и вся соответствовало принципу DRY, и подсознательного желания программиста всё упорядочить и усложнить, даже в жизни..)

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

Про частый процесс, опять же раз в пять лет запросить правку в N командах, а значит потратить ресурсы каждого человека, либо раз в пятилетку обновить пакет. Где еще раз повторюсь, даже версию не надо будет менять, просто yarn/npm install сделать.

P.S. Я понял, что вы хотите донести, что усложнения ради усложнений, это излишества. Но у нас вот подсчитав в цифрах, это выходит не лишнее. Может конкретно вашей команде не подойдет :(

Моя цель была простой, донести в каких случаях может пригодиться, и короткая инструкция как. Есть правда недочеты со структурой подачи, но все мы не идеальны)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории