3

我喜欢对我的代码库进行自动检查,以确保我没有违反风格指南。当我在 Perl 工作时,我会使用Perl::Critic来检查我的风格,并使用Test::Perl::Critic::Progressive来检查任何现有的违规行为,这样我就可以将其应用于现有的代码库。

现在我发现自己在一个 PHP 项目中。PHP CodeSniffer似乎是社区中首选的工具,但我没有看到任何形式的渐进模式。

是否有任何 PHP 样式检查器的“渐进式”模式?

(“渐进式”检查首先捕获所有现有违规的列表,然后阻止它们出现在后续的检查运行中。这意味着允许保留现有的违规,但不允许添加新的违规。)

4

2 回答 2

1

正如您所发现的那样,事实上的 PHP 样式检查器是 PHP CodeSniffer。那个不支持渐进模式。

但是,在命令行上使用 grep 运行该命令是微不足道的,这样您就可以从错误开始,然后在进展的后期“逐步”关注警告。

Eclipse 中的 Codesniffer 集成(屏幕截图和链接)也很不错,可以让您在 IDE 中执行类似的操作。

如果您不仅需要与样式检查类似的东西,您可以尝试 PHPStorm IDE,它与代码检查有类似的东西,并允许您区分检查类型及其级别。它还允许您根据自己的风格重新格式化代码,这将帮助您快速有效地使代码库井井有条。

于 2012-04-24T12:34:31.707 回答
1

我已经启动了这个 shell 脚本来帮助:

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。

它不是跨平台的,它仍然会在有新错误的文件中显示较旧的错误,但这是一个好的开始。

于 2012-05-16T15:24:04.747 回答