Pull to refresh

Comments 27

Как ни странно, в требованиях вакансий на хедхантере я часто читаю что хотят знание принципов DRY и SOLID например - но по KISS почти не встречается. Можно оптимистично думать что "это подразумевается" или пессимистично что "никто не хочет Simple" :(

Тут где-то рядом статья была на тему оверинжениринга. Неплохая.

В целом конечно это может быть перезаклад на случай рождения на Филлипинах трёхглавого карася ...

Но может быть и закладка буквально на следующий релиз, просто в этом не успели отладить изменение параметра.

Вам бы выяснить этот вопрос, вот соседи то потом удивятся.

Но и это ... Очередь записи/чтения у Вас пока что кривая осталась :)

закладка буквально на следующий релиз

если бы это был какой-то более волатильный параметр чем путь к файлам сертификатов :)

а так, среди параметров, вычитываемых подобным образом (я упоминал выше что это не первый найдёныш, но первый приведший к багу) оказалось например и имя компании. ну да, вдруг в следующем релизе имя компании станет динамичным :)

и плюс, как опять же упомянуто, вычитывание на старте происходит и на старте же запись - так что закладки на то чтобы этот параметр менялся в рантайме нет...

Но и это ... Очередь записи/чтения у Вас пока что кривая осталась :)

Ох, не сыпьте соль на рану... Для релиза-то я быстро пропатчу, а над мастером предстоит много и нудно думать :) эта "очередность" это конечно бомба замедленного действия - а там рядом и другие параметры вычитываются, разбираюсь какой откуда берется...

Родион, Вам контекст разумеется виднее на месте.

Но у Вас релиз, а у меня утренний кофе. Пока адреналинчик по нулям - решил чисто из опыта напоминалочку повесить :)

хех, кто-то с утра кофий пьёт, а кто-то просыпается чтобы кормить небольшую банду котов - ну и лоточки убирать :) спасибо за отклик в любом случае!

О, спасибо что напомнили — я сегодня чот забыл лоток у своих почистить :)

ну да, вдруг в следующем релизе имя компании станет динамичным :)

А вот это вы зря иронизируете. Мой опыт работы в крупной страховой компании говорит, что нет ничего более стабильного чем внезапные изменения :)

Нас, лет за 20, раза 4 покупали все более громадные монстры и первый раз были муки с ребрендингом. Зато чем дальше - тем легче, с опытом-то.

P.S. Забавно, говоришь что работаешь на одном месте больше 20 лет - многие в шоке, а по факту - сменил 4 места на принципиально другое ибо в каждом покупателе свои тараканы... Только успевай название компании менять в параметрах :)

UFO landed and left these words here

Смотрите на это иначе - столько людей заняты, стабильно получают зарплату и увеличивают своей деятельностью ВВП!

Кстати, насчет ВВП я не уверен. Если бы проект делался на иностранцев, то это в любом случае был бы приток финансирования в страну. А если это разработка на внутренний рынок, притом, не дошедшая пока до "продакшена", то можно рассматривать как вообще частное дело самой компании финансируемой из её же собственных свободных финансов (тут я подробностей не знаю). Скорее всего в учете ВВП это не учитывается. Хотя зарплату-то работники получают.

типа исправил. А потом еще статью написать про это!

наверное тут я не очень чётко пояснил поэтому вы не поняли - "минимальное" исправление сделано только в релизной ветке, которую уже нельзя сильно менять

а выпиливать всю эту порнографию - это я параллельно начал но работа довольно муторная (нужно заодно проверять "соседние" параметры, откуда они берутся, нет ли с ними такой же истории) - в общем, займёт еще какое-то время.

А потом еще статью написать про это!

Статью-то подобную написать дело нехитрое и много времени не заняло - собственно я её как "заметку" охарактеризовал выше, просто в "пост" не лезет. Написана же она с чёткой прикладной целью - не только "привлечь внимание общественности" (не думаю что многие схватятся за голову и начнут писать код более прилично) - но и тыкать ею в нос собственным менеджерам. Терпеть не могу объяснят одно и то же по сто раз. И в этом смысле ваш возмущённый комментарий очень в тему, спасибо :)

В целом вы абсолютно правы - перерасход ресурсов огромный. По своему скромному опыту я оцениваю что данный проект 2-3 человека могли бы написать максимум за полгода - на деле ваяет дюжина-другая специалистов - и тянется это не первый год. Тут ещё эффект вавилонской башни присутствует - одни "архитектуру" придумывают, другие требования пишут, третьи их реализуют, четвертые проверяют... Но наверное этот момент как-нибудь отдельно стоит осветить.

UFO landed and left these words here

Писать простой код могут не только лишь все.

Сочувствую. Но эта проблема в образе мышления. Кому-то изначально платили за строки кода. А потом он пришёл в продукт, а привычка осталась.

Сам сейчас таких переучиваю. Начну с выставления правильных kpi

Про выставление правильных KPI в случае успеха, по возможности, напишите потом - думаю, будет поучительно - может удастся и наших управленцев на основе Вашего опыта к чему-то подвигнуть :)

Не вопрос. Пингану потом.

Гипотеза проста - хороший код ускоряет разработку. Меньше кода - быстрее поставка.

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

Придумаю какой-нибкдь бонус небольшой за исправление минимум 1 такого места.

И добавлю сонар- буду смотреть на общий maintainability index для начала. А когда интегрирую DORA - посмотрю корреляцию.

Я получил код в плачевном состоянии, тут про метрики и бест практисы и говорить нечего. Скорее сборник примеров как делать не надо. По этому мне еще предстоит интегрировать все эти инструменты и метрики, выстраивать культуру и пайплайны.

Меньше кода - быстрее поставка.

хех, золотые слова же :)

Смущает что в одну таблицу пишет несколько сервисов.

И такие вещи обычно решаются через переменные окружения. Которые подгружаются из безопасного хранилища, например vault.

Сервис сам по себе более или менее понятен - тестирование. Мокнуть и протестировать что-то ещё, чтобы не настраивать окружение. Но зачем база, чтобы хранить константу?

А потом это все кому-то поддерживать лет 20, если проект таки взлетит. И страдать от того, что все так замудрено - поменял пару строк и все развалилось.

Вся эта свистопляска

... нужна для того, чтобы конфигурацию можно было менять. В частности, на разных средах, включая локальную. Могло сложиться "исторически", что когда этот параметр действительно был разный, но потом унифицировался. Могли изначально переусложнить задачу. В любом случае этот код мог, может или сможет иметь смысл - не стоит давать оценки, просто исходя из увиденного.

не стоит давать оценки, просто исходя из увиденного.

а почему вы думаете что я "просто исходя из увиденного"? я уже год на проекте и знаю ребят кто это безобразие писал, знаю как они пишут, но не упоминаю сколько ещё странных косяков, иногда критичных, в их проекте поправлял :)

так что у меня достаточно оснований

безобразие писал

странных косяков

в их проекте поправлял

"Я д'Артаньян, а вы все гвардейцы кардинала" :) - я даже утвердился в свое мнении. Тем более что "уже год" в отрыве от масштаба проекта смысла не имеет. Да и совет был не столько лично Вам, сколько читающим эту статью - не стоит повторять анекдот "Этот дом построили пи@#$@сы".

хорошо-хорошо, почему бы вам не написать статью о том что чем кода больше тем лучше, ведь никогда не знаешь что может случиться :)

после того, как я увидел в Java проекте, на который меня взяли разгребать косяки,

if(a==b) return true;

else return false;

ничему уже не удивляюсь.

Первая мысль - пишется и читается под разными аккаунтами с разными правами доступа. Оказалось, показалось.

Sign up to leave a comment.

Articles