2011-05-15 35 views
32

我正在研究對現有PHP項目進行一些靜態代碼分析,並且我無法理解PHP_CodeSniffer,PHPMD和PHP Depend之間的區別。這些只是替代相同問題的替代方案,還是它們在某些方面相互補充?爲什麼開發者可能會選擇一個呢?PHP_CodeSniffer,PHPMD或PHP Depend

回答

52

無恥拷貝從http://phpqatools.org

pdepend

pdepend可以產生從一個給定的代碼庫一大組軟件度量的。這些值可用於衡量軟件項目的質量,並有助於確定應用代碼重構的應用程序的各個部分。

phpmd

phpmd掃描PHP源代碼,並查找如可能的錯誤,死碼,次優碼,和過於複雜的表達式的潛在問題。

phpcs

phpcs tokenises PHP,JavaScript和CSS文件,並檢測違反定義的一組編碼標準。這是一個重要的開發工具,可確保您的代碼保持整潔和一致。它還可以幫助防止開發人員所犯的一些常見語義錯誤。

所以不,他們不只是替代品。 PDepend和PMD專注於軟件度量,而PHPCS則根據令牌流中的模式定義規則。 PDepend並不在乎尋找編碼標準違規。你應該全部使用它們三個。如果可能,請在您的持續集成服務器上,例如Jenkins

+0

感謝您發佈這樣一個明確的答案,並積極鼓勵我開始使用CI服務器。 – jmans 2011-05-15 20:13:59

+4

最近我們爲PHP項目建立了Jenkins的所有三個(和更多),我可以衷心推薦所有三種工具。 – 2011-06-02 01:07:50

+1

仍然使用pdepend另外對phpmd還不清楚。 Phpmd也可以生成指標(並且具有輝煌的Jenkins插件),並且可以在PHPStorm中實時使用。 pdepend對我來說會做些什麼我無法從phpmd中得到什麼? – 2013-12-23 11:45:47