Рубріки: Решения

Как грамотно избавиться от кода с запашком: 8 простых шагов

Богдан Мирченко

Код с запашком — это термин, который обозначает код с признаками проблем в системе. Один из самых распространенных способов избавиться от него — переписать, но, по словам разработчика Дэна Уиллоуби, если подойти к процессу неправильно, можно потратить целый день, но так ничего и не улучшить. За десять лет в индустрии специалист понял, что устранять ошибку нужно постепенно. Как это сделать, он написал в своем блоге.

Шаг 0: признайте наличие проблемы

Часто код с запашком появляется во время выполнения простой задачи, когда вы пытаетесь потратить на нее как можно меньше времени. 

Например, я делаю что-то простое, скажем, добавляю еще одно поле в форму. Я быстро добавляю какой-то код, потому что мне кажется, что так проще всего, и отправляю фичу в продакшен. У меня же куча дел, мне некогда.

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

Шаг 1: выберите области, которые нужно поправить

Код с запашком — это очень неорганизованный код. Его всегда первым делом хочется переписать самому, потому что тогда он станет для тебя понятнее. Но нет гарантии, что в нем разберется другой разработчик. 

Как и с профилированием кода для поиска самого медленного места, нужно искать место, которое больше всего пахнет. Есть ли в коде участки, на которых разработчики-новички постоянно стопорятся? 

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

Шаг 2: найдите самый проблемный участок

Код с запашком — как грязная посуда. Пока от нее не избавишься, в доме будет стоять неприятный запах. Можно винить всю посуду, которая есть в квартире, но среди нее ведь есть и чистая, которую мыть не нужно. 

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

При поиске кода с запашком надо помнить, что цель — исправить самый проблемный участок, большую часть остального кода вообще не нужно трогать. 

Шаг 3: сопротивляйтесь желанию поправить вообще все

Возможно, самое трудное в улучшении кодовой базы — не вылезать за рамки одной проблемы. Когда появляется возможность навести порядок, уже трудно остановиться. Возникают мысли: «Раз уж я взялся за дело, надо почистить все». 

Сопротивляйтесь! Не делайте этого. 

Если хвататься за все, вы никогда не закончите. К тому же есть риск не пройти код-ревью. Лучше делать по одному участку за раз.

Шаг 4: убедитесь, что изменения пойдут коду на пользу

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

Шаг 5: не сдавайтесь сразу

С кодом с запашком сложно работать. Не расстраивайтесь, если текущий код далек от совершенства. Главное, что код есть и вы знаете, какие фрагменты нужно править, а какие нет. Важно не сдаваться, ведь решение может быть совсем рядом. 

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

Шаг 6: воспользуйтесь методом утенка

Код с запашком требует внимания. И здесь может помочь метод утенка. Это способ решения задачи, при котором вы объясняете игрушечному утенку все ваши действия. В процессе можно выяснить, что вы что-то упустили из виду. 

Если утенка под рукой нет, можно прибегнуть к помощи коллег по работе. 

Шаг 7:  все или ничего

Код с запашком можно улучшить. Итогом будет или исправленный код или провал. Если первое — останется только внести изменения и расслабиться. Если второе, то можно зафиксировать проблему в ветке и вернуться к ней позже. Когда что-то не получается сразу — это нормально. 

Заключение

По словам Дэна Уиллоуби, выполнение этих шагов помогает постепенно улучшить код. Иногда на все этапы может уйти несколько минут, а иногда они могут занять несколько недель, но нет ничего лучше, чем наконец-то избавить код от запашка и залить в продакшен.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023