Clean code is a scum

топ 100 блогов live1307.05.2023 Когда над кодом трудится несколько человек, да и даже один человек, всегда хочется его как-то упорядочить. Чтобы было единообразно и не как попало.
И когда я только начинал что-то делать в команде всегда предпринимались попытки ввести codestyle и его придерживаться.
В сети уже было много рекомендаций как это делать и были в числе прочих статьи какого-то Дади Боба.
Мне в целом нравилось и я применял где можно кроме совсем прототипов, не предназначенных для добавления в какую-то кодовую базу.

Но потом что-то пошло не так. Любители меряться длиной органов на конференциях и получать за это приглашения на новые конференции не могли успокоиться и постепенно придумали идею Чистого кода (Clean Code). Наверное когда-нибудь об этом будут вспоминать как о увлечении организовывать все в иерархии классов в начале-середине 90-х. Но пока последние лет 10 мы живем (а иногда даже выживаем) в этой парадигме.

Что же это такое? Пожалуй что благое начинание, которое постепенно превратилось в культ. Если взять некоторые рекомендации, то в них нет ничего плохого. Но если за дело возьмется культист этого метода, то вскоре в коде будет сложно разобраться не только вам, но и ему самому. Благо пример был перед глазами.

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

Когда реальных обоснованных доводов для конференций стало не хватать, были придуманы совсем абстрактные максимы.

Больше всего мне нравятся заявления о том что код должно быть удобно читать как книгу. Но кто-нибудь читает код как книгу? Я нет. И в метро не видно людей, которые сидят читают код вместо книг.
От кода хочется понятности чтобы в нем было удобно разобраться. А требование разбивать все на мелкие функции прямо противоречит удобству чтения. Потому что это скорее походит на книгу в которой сплошные отсылки между страницами. А ведь код зачастую нужно не просто прочитать, а нужно понять что происходит на каждом шаге выполнения. И не стоит забывать что чужой код обычно читается во время code review в git или его аналоге, где перескакивать из функции в функцию особенно неудобно. А если дело идет о интерфейсах и абстракциях то все еще хуже.

К чему это я собственно вспомнил. Тут просто на youtube около месяца назад выложили одно хайповое видео о том что код может быть настолько чистый, что в нем не разберется не то что человек, а даже компилятор и в результате он даже будет медленнее выполняться. Утверждение скорее хайповое и если и верное, то лишь от части. Потому что многое зависит от языка и компилятора. Но ради хайпа имеет такое же право на существование как и сам "чистый код".

А вот и всякие реакции на видео.





Пусть сами авторы реакций настроены скептически, но комментарии под видео в целом радуют. Похоже люди осознают мошенничество с чистым кодом. А там глядишь и начнут его культистов и фанатиков по голове клавиатурой бить. Ложные практики отомрут и заживем. А там гляди и аджайл отвалится. Может и качество ПО повысится.

Оставить комментарий

Предыдущие записи блогера :
Архив записей в блогах:
«Есть непреодолимые различия» За событиями в Израиле наблюдает весь мир. Ситуация в зоне палестино-израильского конфликта развивается ежечасно. Знаменитый эрудит Анатолий Вассерман уверен: эскалации не случится и вскоре в Израиле наступит мир. Потому как Иран и другие арабские ...
Именно так переводится название этого торта с норвежского Verdens beste kake. А в моей большой кулинарной книге про норвежскую кухню и культуру он еще называется как "Kvæfjordkake". И  его изобретение и большая популярность приписывается именно заполярной Тромсевской губернии (Troms f ...
1. Джентльмен проводит жену на поезд, если хочет убедиться в том, что она уехала. 2. Джентльмен всегда проводит даму до дому, если это дом джентльмена. 3. Джентльмен всегда вытрет о половик ноги, прежде чем стучать ими в дверь. 4. Если даму целуют очень долго, значит, она очень болтлива ...
Мужчины — в большей массе согласны если у супруги будет ребёнок от первого брака, а вот у самок это как раз Наоборот ! Нафиг такое ... пусть ребёнок мужчины остаётся с его бывшей !!! Тоже начнёте тут спорить ...
Используемая раскладка на клавиатуре, т. н. QWERTY, скоро распространилась исключительно спасибо случаю. Конечно, причём, она не классифицируется ни лично эргономичной, ни лично однозначно комфортной. Впрочем, просто мы к ней пристрастились. ...