我正在研究对现有PHP项目进行一些静态代码分析,并且我无法理解PHP_CodeSniffer,PHPMD和PHP Depend之间的区别。这些只是替代相同问题的替代方案,还是它们在某些方面相互补充?为什么开发者可能会选择一个呢?PHP_CodeSniffer,PHPMD或PHP Depend
32
A
回答
52
pdepend
pdepend可以产生从一个给定的代码库一大组软件度量的。这些值可用于衡量软件项目的质量,并有助于确定应用代码重构的应用程序的各个部分。
phpmd
phpmd扫描PHP源代码,并查找如可能的错误,死码,次优码,和过于复杂的表达式的潜在问题。
phpcs
phpcs tokenises PHP,JavaScript和CSS文件,并检测违反定义的一组编码标准。这是一个重要的开发工具,可确保您的代码保持整洁和一致。它还可以帮助防止开发人员所犯的一些常见语义错误。
所以不,他们不只是替代品。 PDepend和PMD专注于软件度量,而PHPCS则根据令牌流中的模式定义规则。 PDepend并不在乎寻找编码标准违规。你应该全部使用它们三个。如果可能,请在您的持续集成服务器上,例如Jenkins。
感谢您发布这样一个明确的答案,并积极鼓励我开始使用CI服务器。 – jmans 2011-05-15 20:13:59
最近我们为PHP项目建立了Jenkins的所有三个(和更多),我可以衷心推荐所有三种工具。 – 2011-06-02 01:07:50
仍然使用pdepend另外对phpmd还不清楚。 Phpmd也可以生成指标(并且具有辉煌的Jenkins插件),并且可以在PHPStorm中实时使用。 pdepend对我来说会做些什么我无法从phpmd中得到什么? – 2013-12-23 11:45:47