我正在研究對現有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。
相關問題
- 1. 什麼是像phpcpd,phpmd,php_codesniffer
- 2. 使用phpmd作爲php工匠phpmd
- 3. PHP Depend和@ package-annotations
- 4. 如何加速PHP Depend
- 5. Codeblocks「.layout」「.depend」files
- 6. 在Eclipse中集成PHPMD(PHP Mess Detector)Mars
- 7. 如何Google for --depend?
- 8. PHP_CodeSniffer教程
- 9. PHP_CodeSniffer PEAR.Commenting.FunctionComment.ParamNameNoMatch error
- 10. Jenkins的PHPMD設置
- 11. 使dep:無法完成'depend'
- 12. Makefile中包括的.depend
- 13. PHPMD無法運行參數
- 14. 使用NetBeans IDE 7.1 + PHPMD + CodeSniffer
- 15. 自定義PHP_CodeSniffer(CodeSniffer)標準
- 16. 在ubuntu上安裝PHP_CodeSniffer
- 17. 如何使用PHP_CodeSniffer與XAMPP?
- 18. 如何爲PHP_Codesniffer標準創建PHP-UnitTest案例?
- 19. 如何使用php_codesniffer進行升級和兼容性檢查(PHP 5.2對PHP 5.4)
- 20. 如何設置PHPMD規則屬性?
- 21. 聲吶和PHPMD:如何排除目錄
- 22. PhpStorm phpmd自定義規則集
- 23. PHPMD捕獲/抑制致命錯誤
- 24. 怎麼不理線長度PHP_CodeSniffer
- 25. 沒有可用的軟件包「pear.php.net/PHP_CodeSNiffer」
- 26. 什麼是使用PHP_CodeSniffer的好標準?
- 27. 在PHP_CodeSniffer中查找字符串規則
- 28. 使用PHP_CodeSniffer忽略特定警告
- 29. 使用PHP_CodeSniffer僅用於修改的行
- 30. 無法移除舊的PHP_CodeSniffer安裝
感謝您發佈這樣一個明確的答案,並積極鼓勵我開始使用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