2012-06-12 7 views
3

Я ищу инструмент командной строки, который применяет предложения форматирования кода, предоставляемые PHP codeniffer, в мою базу кода.Инструмент командной строки для применения предложений, предоставляемых PHP Codesniffer

В Eclipse есть классные инструменты, такие как плагин PHP CodeSniffer, но в моем случае я должен делать это как пакетный процесс, а не ручную задачу.

ответ

4

Хотя нет ничего, что будет напрямую исправлять все проблемы, о которых сообщает PHP_CodeSniffer, существует еще один несвязанный проект, который пытается исправить проблемы, а не сообщать о них. В частности, он пытается сделать ваш код совместимым с новыми стандартами PSR-1 и PSR-2, которые PHP_CodeSniffer просто добавляет поддержку на данный момент.

Это не будет все исправить, но это, вероятно, так близко, как вы собираетесь добраться до исправления некоторых проблем: https://github.com/fabpot/PHP-CS-Fixer

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

+0

Хороший код форматирования не нарушает ваш код. Наш не делает; он использует точный синтаксический анализатор для чтения кода, а язык - точный симпатичный пример для его форматирования. Вы можете запускать его как пакет на всей кодовой базе. Безопасно. Он не прослушивает CodeSniffer и, вероятно, не реализует ожидаемый формат CodeSniffer. –

+1

Спасибо Ира. Я понятия не имею, что такое ваш продукт, но вы, очевидно, очень уверены в этом. Я, конечно, говорил в целом. Предполагая, что ваш инструмент всегда обновляется с изменениями PHP-версий, совместим с различными версиями и справляется со странными способами, которые иногда программирует код, я уверен, что он отлично справляется. Я бы никогда не рекомендовал инструмент для автоматического форматирования кода, потому что я невероятный параноик и соглашусь с тем, что разработчики делают ошибки и что инструменты никогда не совершенны. Даже одной неясной ошибки, ползущей в код, достаточно, чтобы вызвать проблему в производстве. –

+0

Тогда почему вы используете PHP? Ответ здесь заключается в том, что хорошо спроектированные инструменты заслуживают доверия. Ваша паранойя подходит для инструментов, которые накладываются вместе с пузырьком и проволокой. Для инструментов, которые хорошо спроектированы, прирост производительности превышает случайный сбой. (Да, у нас тоже есть, но они редки, и мы стараемся идти в ногу). –

2

CodeSniffer в версии 2 вводит автоматическое исправление ошибок. Все, что вам нужно сделать, это обновить CodeSniffer до версии 2 и запустить его с помощью команды:

phpcbf

вместо старых phpcs, которые только список ошибок

Дополнительная информация: Fixing Errors Automatically

 Смежные вопросы

  • Нет связанных вопросов^_^