Когато въведете файл, оставете го по-добре, отколкото сте го намерили

„Рефакторингът е процес на промяна на софтуерна система по такъв начин, че да не променя външното поведение на кода, но подобрява вътрешната му структура.

Това е дисциплиниран начин за почистване на код, който минимизира шансовете за въвеждане на грешки. По същество, когато преработвате, вие подобрявате дизайна на кода, след като е бил написан. — Мартин Фаулър (Бащата на „мириса на код“).

Нека си го кажем. Всички сме програмисти. Ние сме умни и интелигентни и обичаме да даваме резултати. Но колко пъти ни е грижа за почистването на миризмата на код?

Перфектен код, моля?

Желаем да напишем код, който е без никакви грешки. Такъв, който тества всички възможни крайни случаи. Един, който преминава проверки на linter всеки път, когато стартирате компилация. Код, в който започвате да се влюбвате. Със сигурност първокласните програмисти трябва да пишат такъв код през цялото време, нали?

погрешно

Никой код не е идеален. Завинаги!

Перфектният код не съществува, както не съществуват и свещените интерфейси.

Кодът е нещо, което се развива с течение на времето. В повечето случаи кодовата база се превръща в гигант.

Сложните кодови бази са изключително трудни за управление.

Следователно става още по-важно да се пише чист код. И преработвайте нещата на части. Вземете например апартамент. По-полезно е да го почиствате за кратки периоди, отколкото за една дълга сесия.

Всеки път, когато се занимавате с конкретна част от кодова база, уверете се, че проследявате аспектите по-долу.

1. По-чист код за настаняване от този, който сте напуснали

„Оставете къмпинга по-чист, отколкото сте го намерили.“
— „Чист код“ (от Робърт Мартин)

Правилото на бойскаутите гласи, че трябва да напуснете къмпинга по-чист, отколкото сте го намерили. Тъй като кодът се влошава и изгнивас времето, добра практика е да проверявате кода по-чист от този, който сте проверили от контрола на версиите.

Когато правите промяна на кода, идентифицирайте областите за подобрение в заобикалящия код.

2. Уверете се, че методите и променливите имат смислени имена

Значещите имена във вашия код гарантират, че не е необходимо да добавяте коментари. Колкото по-ясно е името, толкова по-лесно е за някой да го прочете и да заключи какво прави.

Когато използвате по-ясна и по-смислена конвенция за именуване, по същество спестявате време за писане на документация за разработчици.

3. Спазвайте принципа за единна отговорност

Нека си го кажем. Колкото по-дълго е тялото на метода, толкова по-трудно е да се следва. Потърсете линии, които в крайна сметка работят за постигане на обща цел. Ако намерите такива парчета, извлечете гив отделни методи с подходящи имена.

Следващият човек, който работи върху тази част от кода, ще ви благодари много. Вярвай ми!

Един метод трябва да се докосва до едно изискване в даден момент. Следването на тази дизайнерска парадигма води до голяма степен за намаляване на сложността на кода.

4. Използвайте шаблони за дизайн, където е възможно

Шаблоните за проектиране ви позволяват да прилагате изпитани и тествани решения на проблеми, като по този начин спестявате време и усилия по време на етапа на внедряване от жизнения цикъл на разработка на софтуер.

Чрез използването на добре разбрани и документирани решения, крайният продукт ще има много по-висока степен на разбиране. Ако решението е по-лесно за разбиране, то като цяло ще бъде по-лесно и за поддържане.

5. Добавете тестове

Не мога да не подчертая важността на тестването на вашия код. Уверете се, че имате достатъчно модулни и интеграционни тестове. Те не само ви помагат да идентифицирате потенциални капани и крайни случаи, но също така предоставят възможност за преработване на нещата.

Вероятно мога да продължа да говоря за важността на тестовото покритие и може би това ще оправдае своя публикация един ден.

Дори Google препоръчва писането на модулни тестове!

Знайте кога да теглите чертата

Бих завършил, като кажа, че въпреки че рефакторингът е важен, той не трябва да идва за сметка на изпълнението на вашата задача.

Бъдете интелигентни при избора на какво и колко да преработите и много скоро ще пожънете плодовете на вашето усърдие.

Благодаря за четенето!