Используем CodeSniffer | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
PHP Developer. Professional Алгоритмы и структуры данных Разработчик программных роботов (RPA) на базе UiPath и PIX
-27%
Scala-разработчик PHP Developer. Basic C# Developer. Professional
-23%
Архитектура и шаблоны проектирования iOS Developer. Professional MS SQL Server Developer Golang Developer. Professional Vue.js разработчик NoSQL Highload Architect Node.js Developer Web-разработчик на Python Android Developer. Professional Microservice Architecture Reverse-Engineering. Professional React.js Developer Flutter Mobile Developer Разработчик IoT Подготовка к сертификации Oracle Java Programmer (OCAJP) Java Developer. Basic Программист С Супер-интенсив "Tarantool" Специализация Java-разработчик
Инфраструктура
Разработчик программных роботов (RPA) на базе UiPath и PIX
-27%
Administrator Linux. Professional
-26%
Network engineer Разработчик чат-ботов и приложений для виртуальных ассистентов
-15%
Administrator Linux. Advanced Специализация Network engineer
-5%
Cloud Solution Architecture NoSQL Инфраструктурная платформа на основе Kubernetes Базы данных Microservice Architecture Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по использованию и настройке GIT Administrator Linux.Basic Экспресс-курс «IaC Ansible» Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс "Версионирование и командная работа с помощью Git" Network engineer. Basic
Корпоративные курсы
Безопасность веб-приложений Разработчик программных роботов (RPA) на базе UiPath и PIX
-27%
Разработчик чат-ботов и приложений для виртуальных ассистентов
-15%
Agile Project Manager Руководитель поддержки пользователей в IT
-10%
Промышленный ML на больших данных Cloud Solution Architecture NoSQL Node.js Developer Reverse-Engineering. Basic Machine Learning. Professional Супер-практикум по работе с протоколом BGP Game QA Engineer Разработчик IoT Экcпресс-курс «ELK» Enterprise Architect Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Экспресс-курс «Введение в непрерывную поставку на базе Docker» Вебинар CERTIPORT
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

Используем CodeSniffer

PHP_Deep_LAST_10.07_3_site.png

Сейчас большинство команд разработки принимает на вооружение стандарты кодирования и организовывает процедуры следования им. Самый лучший способ следить за соблюдением принятых стандартов, конечно же, это code review. Но постоянное возвращение кода из-за незамеченного тобой отступления от правил кодирования, к примеру, отсутствия отступа перед оператором return, не добавляет популярности данной процедуре. Чтобы уменьшить объём подобных небрежностей, для PHP-программистов существует инструмент CodeSniffer.

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

Сам по себе PHPCS уже из коробки содержит множество существующих стандартов – PSR1, PSR2, PEAR, Zend. При этом самым интересным в использовании CodeSniffer является возможность его расширения под собственные внутренние правила. Поэтому на GitHub легко можно найти множество готовых расширений, позволяющих использовать кастомные правила, например, реализация стандартов, принятая разработчиками на Symfony2.

Одна из самых распространенных причин, по которой разработчики отказываются использовать CodeSniffer в повседневной работе, – наличие собственных правил, реализация которых отсутствует в сборке. Но очень хорошей практикой для вас как для разработчиков является возможность самим реализовать эти правила, которые приняты только внутри вашей команды, чтобы в будущем вся команда пользовалась ими. Разработчики подготовили очень качественный мануал, по которому вы сможете начать разрабатывать «сниффы», то есть правила, проверяющие следование определённому правилу принятого стандарта.

Например, в нашей компании для пресечения непрекращающегося холивара на тему использования Yoda conditions принято правило, которое запрещает такие конструкции. Здесь можно посмотреть готовое расширение, которое позволяет сканировать ваш код на наличие таких условий: AvoidYodaConditionsSniff.php.

Есть вопрос? Напишите в комментариях!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
🔥 Выгодные предложения
Подборка курсов, которые можно приобрести по выгодной цене только до конца июля!