1、使用靜態分析工具測量質量php
咱們用靜態分析測量代碼而不運行它。實際上,咱們將這些工具用於評估代碼、讀取文件、衡量它所寫的要素。使用這些工具,能夠幫助咱們對代碼庫有一個完整的層次化的認識,甚至在代碼庫變得更大、更復雜的時候也能掌握。git
靜態分析工具是項目過程當中的一個關鍵組成部分,可是,只有按期使用它們,並以理想的方式進行每一次提交,靜態分析工具才真正顯示出價值。這些工具涵蓋了代碼的全部方面,從計數類和計算行數,到識別哪裏有提示使用複製和粘貼的相似代碼段。而後咱們來看看靜態分析工具在代碼質量中兩個特別關鍵的問題上如何幫助咱們:編碼標準和文檔。github
一、phplocweb
phploc:https://github.com/sebastianbergmann/phplocapache
PHP代碼行(phploc)可能並非一個很是有趣的靜態分析工具,但它確實給了咱們一些有趣的信息,特別是隨着時間的推移當咱們反覆運行它的時候。phploc提供項目拓撲結構以及尺寸的相關信息。服務器
例如測試一個標準的WordPress版本,咱們只需使用以下命令:wordpress
$ phploc wordpress
二、phpcpd工具
phpcpd:https://github.com/sebastianbergmann/phpcpd測試
PHP複製粘貼器(phpcpd)看起來是一個在代碼中尋找相似模式的工具,咱們使用它是爲了在代碼庫中識別代碼在何處被複制或粘貼。這是常規構建過程當中的一個很是有用的工具,可是從輸出中得到正確的編號會讓項目與項目有所不一樣。ui
一樣,若是咱們測試WordPress,可使用下面的命令:
$ phpcpd wordpress
三、phpmd
phpmd:http://phpmd.org/
PHP項目消息探測器(phpmd)是一個試圖量化所謂開發老手所說的「代碼發出的氣味」的工具。它使用一系列指標尋找彷佛失衡的項目元素。該工具生成大量的輸出,其中大部分都是好的建議,下面是一個要求phpmd在WordPress中檢查命名混亂的命令:
$ phpmd wordpress/ text naming
2、編碼標準
編碼標準是一個在不少開發團隊中引發激烈爭論的話題,既然縮進和使用空格並未影響代碼的運行,那爲何咱們要建立格式化的規則而且嚴格遵照呢?事實上,當咱們已經習慣於某個編碼風格,並且代碼以咱們指望的方式排列時,它會變得更加容易閱讀。可是,在實際開發過程當中,很容易忘記規則,因此須要工具區檢查全部的代碼。
一、使用PHP代碼探測器檢查編碼標準
PHP代碼探測器:http://pear.php.net/package/PHP_CodeSniffer
首先,你須要在服務器上安裝這個工具。不管它在開發機器仍是開發服務器上,這徹底取決於你所擁有的可用資源。
安裝後,就可使用下面的命令測試代碼了:
phpcs --standard=PEAR robot.php
二、查看違反編碼標準的地方
PHP代碼探測器有幾個很是重要的報表樣式,你能夠用它們看着所用代碼庫的「重點」、咱們將這些以詳細報表的一樣方式輸出到屏幕上,它們也能夠生成其餘格式。
要生成一個彙總報表,只需這樣作:
phpcs --standard=PEAR --report=summary *
三、查看PHP代碼探測器標準
有幾個編碼標準是PHP代碼探測器默認運行的,你能夠生成或設置任何本身的標準。若想看到有哪些可用的標準,你能夠運行具備-i開關的phpcs。
$ phpcs -i
3、文檔和代碼
使用phpDocumentor將註釋轉換爲文檔。
phpDocumentor:http://www.phpdoc.org/
例如:
phpdoc -t docs -o HTML:Smarty:PHP -d .
4、源代碼管理
經常使用源代碼管理工具:
Subversion:http://subversion.apache.org/
5、自動部署
Phing:http://www.phing.info/
Phing 是一個基於Apache ANT 的項目構建系統。Phing使用基於XML的配置,默認保存在一個名爲build.xml的文件中。
咱們給這個項目命令,並定義一系列屬於這個項目的任務,還能夠指定哪些任務被默認運行,均可以經過Phing進行配置。