Comments 27
KISS
Тут где-то рядом статья была на тему оверинжениринга. Неплохая.
В целом конечно это может быть перезаклад на случай рождения на Филлипинах трёхглавого карася ...
Но может быть и закладка буквально на следующий релиз, просто в этом не успели отладить изменение параметра.
Вам бы выяснить этот вопрос, вот соседи то потом удивятся.
Но и это ... Очередь записи/чтения у Вас пока что кривая осталась :)
закладка буквально на следующий релиз
если бы это был какой-то более волатильный параметр чем путь к файлам сертификатов :)
а так, среди параметров, вычитываемых подобным образом (я упоминал выше что это не первый найдёныш, но первый приведший к багу) оказалось например и имя компании. ну да, вдруг в следующем релизе имя компании станет динамичным :)
и плюс, как опять же упомянуто, вычитывание на старте происходит и на старте же запись - так что закладки на то чтобы этот параметр менялся в рантайме нет...
Но и это ... Очередь записи/чтения у Вас пока что кривая осталась :)
Ох, не сыпьте соль на рану... Для релиза-то я быстро пропатчу, а над мастером предстоит много и нудно думать :) эта "очередность" это конечно бомба замедленного действия - а там рядом и другие параметры вычитываются, разбираюсь какой откуда берется...
Родион, Вам контекст разумеется виднее на месте.
Но у Вас релиз, а у меня утренний кофе. Пока адреналинчик по нулям - решил чисто из опыта напоминалочку повесить :)
ну да, вдруг в следующем релизе имя компании станет динамичным :)
А вот это вы зря иронизируете. Мой опыт работы в крупной страховой компании говорит, что нет ничего более стабильного чем внезапные изменения :)
Нас, лет за 20, раза 4 покупали все более громадные монстры и первый раз были муки с ребрендингом. Зато чем дальше - тем легче, с опытом-то.
P.S. Забавно, говоришь что работаешь на одном месте больше 20 лет - многие в шоке, а по факту - сменил 4 места на принципиально другое ибо в каждом покупателе свои тараканы... Только успевай название компании менять в параметрах :)
Смотрите на это иначе - столько людей заняты, стабильно получают зарплату и увеличивают своей деятельностью ВВП!
Кстати, насчет ВВП я не уверен. Если бы проект делался на иностранцев, то это в любом случае был бы приток финансирования в страну. А если это разработка на внутренний рынок, притом, не дошедшая пока до "продакшена", то можно рассматривать как вообще частное дело самой компании финансируемой из её же собственных свободных финансов (тут я подробностей не знаю). Скорее всего в учете ВВП это не учитывается. Хотя зарплату-то работники получают.
типа исправил. А потом еще статью написать про это!
наверное тут я не очень чётко пояснил поэтому вы не поняли - "минимальное" исправление сделано только в релизной ветке, которую уже нельзя сильно менять
а выпиливать всю эту порнографию - это я параллельно начал но работа довольно муторная (нужно заодно проверять "соседние" параметры, откуда они берутся, нет ли с ними такой же истории) - в общем, займёт еще какое-то время.
А потом еще статью написать про это!
Статью-то подобную написать дело нехитрое и много времени не заняло - собственно я её как "заметку" охарактеризовал выше, просто в "пост" не лезет. Написана же она с чёткой прикладной целью - не только "привлечь внимание общественности" (не думаю что многие схватятся за голову и начнут писать код более прилично) - но и тыкать ею в нос собственным менеджерам. Терпеть не могу объяснят одно и то же по сто раз. И в этом смысле ваш возмущённый комментарий очень в тему, спасибо :)
В целом вы абсолютно правы - перерасход ресурсов огромный. По своему скромному опыту я оцениваю что данный проект 2-3 человека могли бы написать максимум за полгода - на деле ваяет дюжина-другая специалистов - и тянется это не первый год. Тут ещё эффект вавилонской башни присутствует - одни "архитектуру" придумывают, другие требования пишут, третьи их реализуют, четвертые проверяют... Но наверное этот момент как-нибудь отдельно стоит осветить.
Писать простой код могут не только лишь все.
Сочувствую. Но эта проблема в образе мышления. Кому-то изначально платили за строки кода. А потом он пришёл в продукт, а привычка осталась.
Сам сейчас таких переучиваю. Начну с выставления правильных kpi
Про выставление правильных KPI в случае успеха, по возможности, напишите потом - думаю, будет поучительно - может удастся и наших управленцев на основе Вашего опыта к чему-то подвигнуть :)
Не вопрос. Пингану потом.
Гипотеза проста - хороший код ускоряет разработку. Меньше кода - быстрее поставка.
Так что я могу попросить разрабов сообщать на ретро или тех синке о подобных проблемах. И попрошу чтобы они сразу исправляли это, а не создавали доп тикеты.
Придумаю какой-нибкдь бонус небольшой за исправление минимум 1 такого места.
И добавлю сонар- буду смотреть на общий maintainability index для начала. А когда интегрирую DORA - посмотрю корреляцию.
Я получил код в плачевном состоянии, тут про метрики и бест практисы и говорить нечего. Скорее сборник примеров как делать не надо. По этому мне еще предстоит интегрировать все эти инструменты и метрики, выстраивать культуру и пайплайны.
Смущает что в одну таблицу пишет несколько сервисов.
И такие вещи обычно решаются через переменные окружения. Которые подгружаются из безопасного хранилища, например vault.
Сервис сам по себе более или менее понятен - тестирование. Мокнуть и протестировать что-то ещё, чтобы не настраивать окружение. Но зачем база, чтобы хранить константу?
А потом это все кому-то поддерживать лет 20, если проект таки взлетит. И страдать от того, что все так замудрено - поменял пару строк и все развалилось.
Вся эта свистопляска
... нужна для того, чтобы конфигурацию можно было менять. В частности, на разных средах, включая локальную. Могло сложиться "исторически", что когда этот параметр действительно был разный, но потом унифицировался. Могли изначально переусложнить задачу. В любом случае этот код мог, может или сможет иметь смысл - не стоит давать оценки, просто исходя из увиденного.
не стоит давать оценки, просто исходя из увиденного.
а почему вы думаете что я "просто исходя из увиденного"? я уже год на проекте и знаю ребят кто это безобразие писал, знаю как они пишут, но не упоминаю сколько ещё странных косяков, иногда критичных, в их проекте поправлял :)
так что у меня достаточно оснований
безобразие писал
странных косяков
в их проекте поправлял
"Я д'Артаньян, а вы все гвардейцы кардинала" :) - я даже утвердился в свое мнении. Тем более что "уже год" в отрыве от масштаба проекта смысла не имеет. Да и совет был не столько лично Вам, сколько читающим эту статью - не стоит повторять анекдот "Этот дом построили пи@#$@сы".
после того, как я увидел в Java проекте, на который меня взяли разгребать косяки,
if(a==b) return true;
else return false;
ничему уже не удивляюсь.
Первая мысль - пишется и читается под разными аккаунтами с разными правами доступа. Оказалось, показалось.
Горе от Ума — почему IT-проекты пишутся долго и стоят дорого (иногда)