2012-04-24 3 views
3

Мне нравятся автоматические проверки на моей кодовой базе, чтобы я не нарушал правила стиля. Когда я работал в Perl, я бы использовал Perl::Critic, чтобы проверить свой стиль, и Test::Perl::Critic::Progressive дедушке в любых существующих нарушениях, поэтому я мог бы применить его к существующим кодам.Проверка стиля PHP прогрессивно (пошагово)

Теперь я нахожусь в проекте PHP. PHP CodeSniffer выглядит как инструмент выбора в сообществе, но я не вижу на нем никакого прогрессивного режима.

Есть ли режим «Прогрессивный» для любой проверки стиля PHP?

(«Прогрессивная» проверка сначала фиксирует список всех существующих нарушений, а затем предотвращает их появление при последующих прогонах проверки. Это означает, что существующие нарушения разрешены для пребывания, но новые не могут быть добавлены.)

+0

Что значит «прогрессивный» режим? Что вы хотите сделать? –

ответ

1

Как вы узнали, де-факто PHP-проверка стиля - это PHP CodeSniffer. Это не поддерживает прогрессивный режим.

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

Codesniffer integration in Eclipse (Screenshot and links) также приятный и позволит вам сделать что-то подобное, но только изнутри IDE.

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

+0

Я думаю, что «Нет» - это ответ. –

1

Я подстегнул этот скрипт, чтобы помочь:

SRCDIR=/Users/smcmillan/Documents/Development/project 
WWWDIR=$SRCDIR/www 

phpcs --extensions=php --report=csv "$WWWDIR" | awk -F, '{print $1, $3, $4, $5;}' > "$SRCDIR/.newerrs" 

rm "$SRCDIR/.errfiles" 

diff -c "$SRCDIR/.olderrs" "$SRCDIR/.newerrs" | grep ^+ | awk '{print $2}' | uniq > "$SRCDIR/.errfiles" 

xargs phpcs < $SRCDIR/.errfiles 

Стратегии в том, чтобы захватить выход пробега в формате CSV, и сравнить против старого бежать, чтобы получить список файлов, росших новые ошибки. Затем мы отправляем эти файлы обратно в phpcs.

Это не межплатформенная платформа, и она по-прежнему показывает старые ошибки в файлах с новыми ошибками, но это хороший старт.

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

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