Принципи чистого коду: будьте кращим програмістом

будьте
«Мій код працює добре, веб-сайт, який я створив, виглядає чудово, і мій клієнт задоволений. То чому б мені все одно піклуватися про написання чистого коду? "

Якщо це схоже на вас, читайте далі.

Трохи тому я провів дискусію з одним із своїх друзів, Кабіром. Кабір - досвідчений програміст. Він працював над складним проектом і обговорював зі мною проблему. Коли я попросив побачити код для цієї проблеми, він сказав, звучачи гордо: "Я побудував цей проект, тому ми єдині, хто може зрозуміти код".

Я був досить жахливий. Я запитав його, чи він навмисно писав брудний код.

"Клієнт не дав мені достатньо часу", - сказав мені друг. "Він завжди поспішає і наполягає на доставці, тому я не встиг подумати про те, щоб це прибрати".

Це майже завжди виправдання, яке я чую, коли запитую про брудний код.

Деякі програмісти пишуть брудний код, оскільки планують випустити першу робочу версію, а потім працювати над її очищенням. Але це не працює; жоден клієнт не дає вам часу на очищення коду. Як тільки перша версія вийде, вони підштовхнуть вас до другої. Отже, візьміть собі за звичку писати код якомога чистіше з першого рядка коду.

Я завжди дізнався, що використання принципів чистого коду має багато переваг, і ця публікація покаже вам, чому.

Завдання керівника проекту, керівника продажу або клієнта - виконати проект за мінімальний час, щоб вони могли контролювати вартість проекту. Але створення якісного, чистого коду - ваш обов'язок програміста.

Написання чистого коду не є великим та трудомістким завданням, але перетворення його на вашу рутину та дотримання цього зобов’язання значно допоможуть просунути вашу кар’єру та вдосконалити власне управління часом.

Чистий код завжди виглядає так, ніби його написав хтось, хто піклується.

“Будь-який дурень може написати код, який комп’ютер може зрозуміти. Хороші програмісти пишуть код, який люди можуть зрозуміти ". - Мартін Фаулер

Ви, мабуть, читали це з двох причин: По-перше, ви програміст. По-друге, ви хочете бути кращим програмістом. Добре. Нам потрібні кращі програмісти.

Продовжуйте читати, щоб дізнатися, чому чистий код важливий, і ви станете кращим програмістом.

Чому ми повинні прагнути до чистого кодексу?

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

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

Ніхто не є ідеальним, і, отже, ви не є також. Ви завжди знайдете можливість покращити або переробити код, повернувшись переглянути свій код через кілька днів або тижнів. Отже, почніть писати код максимально чисто з першого рядка коду, щоб пізніше можна було більше працювати над покращенням продуктивності та логіки.

Переваги чистого кодексу

"Чому я повинен піклуватися про написання чистого коду?" Ви все ще можете запитати себе.

Є багато причин, щоб потрапити у спосіб мислення чистого коду, який я описав вище. Деякі з найбільш важливих причин:

Краще використовувати свій час

Перший бенефіціар чистого коду - це самі програмісти. Якщо ви працюєте над проектом місяцями, легко забути те, що ви робили в коді, особливо коли ваш клієнт повертається зі змінами. Чисті рядки коду спрощують внесення змін.

Простіша реєстрація нових членів команди

Використання принципів чистого коду допомагає залучити нового програміста. Для розуміння коду не потрібна документація; новий програміст може безпосередньо перейти до нього. Це також економить час як на навчання нового програміста, так і час, необхідний новому програмісту для адаптації до проекту.

Простіше налагодження

Незалежно від того, пишете ви брудний чи чистий код, помилок неминуче. Але чистий код допоможе вам налагодити швидше, незалежно від того, скільки досвіду чи досвіду у вас є.

І нерідкі випадки, коли ваші колеги або менеджери допомагають вам вирішити проблему. Якщо ви написали чистий код, не біда: вони можуть заскочити і допомогти вам. Але якщо вашому менеджеру доведеться обробляти ваш брудний код, ну, ви можете опинитися як мій друг Кабір.

Більш ефективне обслуговування

“Звичайно, поганий код можна очистити. Але це дуже дорого ".
Bert Роберт К. Мартін

Технічне обслуговування не стосується виправлення помилок. У міру зростання будь-якого проекту йому будуть потрібні нові функції або зміни існуючих функцій.

Чи знаєте ви, що основна вартість будь-якого програмного проекту полягає в технічному обслуговуванні? Компанія завжди випустить першу версію або мінімально життєздатний продукт (MVP) якомога раніше. Додаткові або нові функції - це завжди додаткова думка, оскільки програмне забезпечення отримує більше використання. Чистий код робить обслуговування відносно швидким і простим.

Ці перші три пункти пояснюють, як чистий код може заощадити час програміста. Заощаджуючи трохи часу щодня, це суттєво вплине на час доставки та вартість програмного забезпечення. Це добре для вашої компанії.

Ви почуватиметеся добре

Чи допомагає вам почуватися впевнено ділитися своєю роботою з іншими? Або з вашим клієнтом?
Якщо ви пишете якісний, чистий код, ви повинні почуватися надзвичайно впевнено. Ви не повинні боятися поломки; ви можете швидше виправити дефекти.

А це означає, що ви також, мабуть, насолоджуєтесь програмуванням.

Тепер, як ви пишете чистий код?

Як написати чистий код

"Ви повинні назвати змінну, використовуючи ту саму обережність, з якою називаєте первістка".
Bert Роберт К. Мартін, “Чистий код”: Підручник з майстерності майстерного використання програмного забезпечення

Програміст є автором, але вони можуть допустити помилку, визначивши аудиторію. Аудиторія програміста - це інші програмісти, а не комп’ютери. Якщо аудиторією були комп’ютери, можливо, ви пишете код машинною мовою.

Отже, щоб було легше зрозуміти аудиторію, слід використовувати значущу номенклатуру змінних, функцій та класів. І зробіть його більш читабельним, використовуючи відступ, короткий метод і короткий вираз, де це доречно:

Також слід обмежити функцію чи метод одним завданням. (Уникайте використання “та” в назві методу, наприклад “validateAndSave.” Натомість створіть два методи, один для перевірки та інший для збереження).

Також важливий відступ. Чистий код повинен використовувати чотири пробіли для відступів, а не клавішу табуляції. Якщо ви вже звикли використовувати клавішу табуляції, змініть налаштування IDE, щоб клавіша табуляції позначала чотири пробіли на відміну від звичайних п’яти.

Якщо ваш метод має більше трьох відступів, настав час переробити нові методи.

  • Поведінка класу та об'єкта. Один клас повинен робити одне. Якщо це для користувача, то всі методи повинні бути написані повністю для зручності користувача.
  • Не коментуйте поганий код. Якщо вам потрібно додати коментарі, щоб пояснити свій код, це означає, що вам потрібно переробити свій код і створити нові методи. Коментуйте лише в тому випадку, якщо це передбачено законом або якщо вам потрібно вести нотатки про майбутнє програми або її історію.
Приклад брудного коду Приклад чистого коду
// Перевірте, чи має працівник право на отримання повної виплати
if ($ worker-> flags && self: HOURLY_FLAG && $ worker-> age> 65)
якщо ($ worker-> isEligibleForFullBenefits ())
  • Використовуйте Git для історії версій. Іноді функції змінюються, а методи потрібно переписувати. Зазвичай ми коментуємо старий код, побоюючись, що клієнти здійснять розворот і запитують стару версію. Але якщо ви використовуєте систему контролю версій Git, вона збереже всі версії, тому немає необхідності зберігати мертвий код. Видаліть його та зробіть свій код чистим.
  • Уникайте роботи з великим масивом. Уникайте створення масиву для великого набору даних; натомість використовуйте клас. Це робить його більш читабельним, не кажучи вже про те, що це створює додаткову безпеку для вашої програми.
  • Не повторюйте код. Щоразу, коли ви пишете метод, запитуйте себе, чи щось подібне вже побудовано. Перевірте бібліотеку коду або іншу документацію.
  • Не встановлюйте жорсткі коди. Визначте константу або використовуйте змінні замість жорсткого кодування значень. Використання змінної не тільки зробить її читабельною, але й спростить її зміну, якщо вона використовується в декількох місцях.
Приклад брудного коду Приклад чистого коду
if (7 == $ сьогодні) return "Це свято";
>
const СУБОТА = 7;
if (self: SUBOTDAY == $ сьогодні) return "Це свято";
>

Деякі інші поради щодо більш чистого коду

Перегляньте свій код самостійно. Час від часу переглядайте свій код. Я впевнений, що ви знайдете щось нове, що можна вдосконалити кожного разу, коли ви переглядаєте це.

Перегляньте свій код із колегами. Перегляньте коди своїх колег і попросіть їх переглянути ваш. Не соромтеся розглядати пропозиції.

Кожна мова має власну конвенцію іменування. Якщо ви пишете для PHP, використовуйте посібник із стилю кодування PSR-2.

Щоб підвищити якість коду, слід використовувати підхід TDD і писати модульні тести. Тестова розробка полегшує зміну коду; вам не потрібно боятися поломки коду. Якщо ви допустили помилки, модульний тест не вдасться, і ви будете знати, який тест не вдався, і який блок коду відповідав за це.

Використовуйте систему контролю версій Git, щоб співпрацювати над розробкою. Git стає важливим інструментом, коли над проектом працює кілька програмістів. Перегляд коду стає легким, якщо ви використовуєте систему контролю версій.

Перехід до більш чистого коду

Написання чистого коду має багато переваг, і легко зрозуміти, чому.

За допомогою цих порад ви можете бути на шляху до написання коду, який кожен може зрозуміти - і це полегшить вам життя в довгостроковій перспективі.

Це також допоможе вашим колегам, вашій команді та вашому роботодавцю.