Pull to refresh

Comments 9

Вместе с перл критик можно пользовать ещё и остальные модули для проверки качества кода — для POD и метрик кода, тут я немного об этом писал (а тут последняя версия на английском)
Да, есть очень полезные Test::* модули, однако автоматически (при коммите) они запускаться не станут.
Как вариант, можно настроить CI-сервер и запускать такие тесты на регулярной основе.
Что значит не станут запускаться автоматически? Что им помешает?
Я лишь хочу сказать, что для того чтобы тесты запускались автоматически при коммите
(на стороне svn-сервера или на выделенной машине), необходимо дополнительно
научить pre-commit hook это делать: checkout текущей версии + применить diff изменений
пришедших с данным коммитом (т.к. эти изменения ещё не в репозитории) + prove.

Не совсем понимаю, Perl::Critic запускается, а что мешает запускаться какому-нибудь Test::POD?
В том и дело, что запускается не Test::Perl::Critic, а Perl::Critic.
Test::POD, как и другие Test::* модули предназначены для использования в тестах: они выдают на выходе данные в формате TAP (Test Any Protocol). Соответственно, для проверки POD-а при коммите необходимо на стороне сервера запустить уже написанный тест (*.t), в котором используется Test::POD, либо сгенерить этот тест на лету, а затем запустить /usr/bin/prove-ом, или Test::Harness-ом.

Т.е. ответ на вопрос «что-мешает» — ничего не мешает, просто нужно эту логику реализовать, т.к. она отличается от того как работает perlcritic-checker.
Поразительно, до сих пор ни одного крика что перл — мертвый, что php — тренд и гребень технологий
А кстати, для общего развития, кто знает есть ли для PHP аналогичные синтаксические анализаторы?
Sign up to leave a comment.

Articles