Консистентность кода

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

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

Уровень 1. Индивидуальная консистентность.

Базовый уровень, который нужно выполнять даже если никто больше не работает с вашим кодом. Это консистентность с самим собой. Мы получаем всегда одинаково форматированный код. Например, если кто-то предпочитает отступы в виде табов, то он всегда должен их использовать.

Уровень 2. Коллективная консистентность.

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

Уровень 3. Институциональная консистентность.

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

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

Стоит обратить внимание, что эти три уровня не являются взаимоисключающими. В наших собственных делах мы должны стремиться к 1 уровню, но я рекомендую ознакомиться со стандартами крупных компаний, таких как, например Google HTML/CSS Style Guide или Стандарт кодирования на PHP в Zend Framework'е.

Вы можете подробнее прочитать про автоматизацию проверки PHP-кода на соответствие стандартам в статье PHP CodeSniffer

© 2016 — 2020. При копировании материалов обязательна активная индексируемая ссылка на источник.