PHP_CodeSniffer, PHPMD или PHP Зависит - PullRequest
32 голосов
/ 15 мая 2011

Я смотрю на статический анализ кода существующего проекта PHP, и у меня возникают проблемы с пониманием различия между PHP_CodeSniffer, PHPMD и PHP Depend. Являются ли это просто альтернативами одной и той же проблеме или они каким-то образом дополняют друг друга? Почему разработчик может выбрать один над другим?

1 Ответ

54 голосов
/ 15 мая 2011

Бесстыдная копия с http://phpqatools.org

pdepend

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

phpmd

phpmd сканирует исходный код PHP и ищет потенциальные проблемы, такие как возможные ошибки, мертвый код, неоптимальный код и слишком сложные выражения.

phpcs

phpcs токенизирует файлы PHP, JavaScript и CSS и выявляет нарушения определенного набора стандартов кодирования. Это важный инструмент разработки, который гарантирует, что ваш код остается чистым и непротиворечивым. Это также может помочь предотвратить некоторые распространенные семантические ошибки, допущенные разработчиками.

Так что нет, они не просто альтернативы. PDepend и PMD сосредоточены на метриках программного обеспечения, а PHPCS определяет правила на основе шаблонов в потоке токенов. PDepend не заботится ни о каких нарушениях Coding Standard. Вы должны использовать все три из них. Если возможно на вашем сервере непрерывной интеграции, например Jenkins .

...