Можно ли заменить все проверки PHP mess-detecter проверками PHP code-sniffer? - PullRequest
3 голосов
/ 01 апреля 2020

У меня есть проект, в котором используются как PHPMD (PHP Mess Detector), так и PHPCS (PHP Code Sniffer), и мне стало интересно, можно ли заменить все проверки PHPMD проверками PHPCS или лучше использовать обе в тандеме? ?

Список проверок PHPMD, кажется, здесь: https://phpmd.org/rules/index.html, но я не нашел никакой информации о преимуществах, предоставляемых PHPMD.

1 Ответ

4 голосов
/ 05 апреля 2020

PHP Code Sniffer в основном используется для обнаружения нарушений данного стандарта кодирования, такого как PSR-2. Он имеет конфигурации для разных стилей, и вы можете настроить вручную каждое из правил.

PHP Mess Detector больше ориентирован на качество самого кода - например, сложность функций, ненужные конструкции, правила, которые определяют чистый код и т. д. c. Точно так же вы можете настроить каждое из предопределенных правил - хотите ли вы, чтобы они применялись или нет, и возможный порог для некоторых проверок.

Чтобы ответить на ваши вопросы - да ВСЕ из PHP правил MD могут быть написанный как CodeSniffer, нюхает, но пока у кого-то не хватит времени и терпения - мы можем продолжать использовать оба:)

Например, некоторые из правил PHPMD уже существуют в PHPCS, например, сложность: https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/Generic/Sniffs/Metrics/CyclomaticComplexitySniff.php

Также для размеров функций / методов и других подобных проверок в PHPMD, вот стандарт для PHPCS, который имеет некоторые из них:

https://github.com/object-calisthenics/phpcs-calisthenics-rules

И вы можете искать больше, если вам действительно нравится мимировать c все. И сами заполните недостающие.

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

...