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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

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

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024