PHP_CodeSniffer,PHPMD或PHP Depend

jma*_*ans 32 php code-analysis static-analysis

我正在考虑对现有的PHP项目进行一些静态代码分析,而我无法理解PHP_CodeSniffer,PHPMD和PHP Depend之间的区别.这些只是这些问题的替代方案,还是它们在某些方面相互补充?为什么开发人员可以选择其中一个?

Gor*_*don 54

来自http://phpqatools.org的无耻副本

pdepend

pdepend可以从给定的代码库生成大量的软件度量标准.这些值可用于衡量软件项目的质量,它们有助于识别应用代码重构的应用程序部分.

phpmd

phpmd扫描PHP源代码并查找潜在的问题,例如可能的错误,死代码,次优代码和过于复杂的表达式.

phpcs

phpcs标记PHP,JavaScript和CSS文件,并检测违反一组定义的编码标准.它是一种必不可少的开发工具,可确保您的代码保持清洁和一致.它还可以帮助防止开发人员产生的一些常见语义错误.

所以不,他们不仅仅是替代品.PDepend和PMD专注于软件度量,而PHPCS根据令牌流中的模式定义规则.PDepend并不关心发现Coding Standard违规行为.你应该使用它们全部三个.如果可能,在Continuous Integration服务器中,例如Jenkins.

  • 最近为我们的PHP项目设置了Jenkins的所有三个(以及更多),我可以衷心地推荐所有这三个工具. (4认同)