我正在考虑对现有的PHP项目进行一些静态代码分析,而我无法理解PHP_CodeSniffer,PHPMD和PHP Depend之间的区别。这些只是这些问题的替代方案,还是它们在某些方面相互补充?为什么开发人员可以选择其中一个?
答案 0 :(得分:54)
<强> pdepend 强>
pdepend可以从给定的代码库生成大量软件度量标准。这些值可用于衡量软件项目的质量,它们有助于识别应用代码重构的应用程序部分。
<强> phpmd 强>
phpmd扫描PHP源代码并查找潜在的问题,例如可能的错误,死代码,次优代码和过于复杂的表达式。
<强> phpcs 强>
phpcs标记PHP,JavaScript和CSS文件,并检测违反一组已定义的编码标准。它是一种必不可少的开发工具,可确保您的代码保持清洁和一致。它还可以帮助防止开发人员出现一些常见的语义错误。
所以不,他们不仅仅是替代品。 PDepend和PMD专注于软件度量,而PHPCS根据令牌流中的模式定义规则。 PDepend并不关心发现Coding Standard违规行为。你应该使用它们全部三个。如果可能,在Continuous Integration服务器中,例如Jenkins。