Чистый код — простые концепции

Чистый код хорошо пахнет

Что такое “Чистый код”

Нету простого определения понятию “Чистый код”. Но можно тезисно описать некоторые подходы к пониманию:

  • Не содержит дубликатов
  • Четкий, простой и прямолинейный
  • Минимально-необходимое количество сущностей: классов, зависимостей, методов, функций, строк кода и т.д.
  • Понятный и выразительный
  • Продуманный. Создает впечатление, что автор кода над ним усердно потрудился
  • Реализованы все требования к продукту

Почти все это абстрактно, поэтому ниже будет конкретика

Почему важно писать чистый код

  • “Грязный код” накапливается. Это приводит к ошибкам. Количество ошибок растет лавинообразно. В конечном счете проект становится очень дорого поддерживать
  • Вы сами будете не раз возвращаться к своему предыдущему коду. Нужно будет вносить правки или улучшения. Чистый код проще поддерживать. Скорость разработки с чистым кодом выше
  • Не только вы будете изучать предыдущий код, но и ваши коллеги. Они почувствуют уважение и благодарность, если столкнуться с чистым кодом
  • Написание чистого кода так же будет развивать в вас такие положительные черты, как аккуратность, внимательность и предусмотрительность

Начало — простые концепции

Несмотря на кажущуюся простоту, они очень важные:

  1. Правило бойскаута

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

Этот принцип формируем в нас характер и стремление к чистоте

  1. Содержательные имена

Имена должны передавать намерения программиста. При удачном именовании переменных, методов и класса, комментарии к коду не будут нужны. Сам код будет легко читаться и пониматься

Что следует избегать:

  • Короткие названия, которые слабо описывают смысл
grnp109, a1, pf
  • Однобуквенных переменных, где можно заложить смысл
$items = $this->userOrdersFromLastVisit($date);
foreach($items as $i) {
   $i->date = Date.now();
}

Может быть

$userOrders = $this->userOrdersFromLastVisit($dateOfLastVisit);
foreach($userOrders as $userOrder) {
    $userOrder->updatedDate = Date.now();
}
  • Сокращения и неудобно-читаемые имена

Было

mngmnt, len, datefromlastupdate

стало

management, length, dateFromLastUpdate

Другие рекомендации

  • Имена классов — обычно имена существительные: Product, UserPage, OrderParser
  • Имена методов — глаголы или глагольные словосочетания: deleteProduct, save, getName
  • Писать имена на английском языке без ошибок. Перевод любого слова можно получить в онлайн-переводчике
  • Быть последовательным. Если для получения данных в классе несколько раз использовался термин get, в похожем контексте слово fetch будет выбиваться

Чистый код — простые концепции: 3 комментария

Добавить комментарий

Ваш адрес email не будет опубликован.