PHP編程風格_PHP教程

來源:互聯網
上載者:User
原作者:Tim Perdue
來源:www.phpbuilder.net
在很多情況下PHP最可貴的特點也可能是它最薄弱的環節就是它的文法鬆散性。 PHP能夠如此廣泛的被使用,因為它使得許多沒有經驗的Web開發人員能夠製作出強大的應用程式,而用不著過多的考慮規劃、連貫性和文檔。
不幸的是,正是以上的特點,是的很多的PHP原始碼很臃腫,很難閱讀甚至無法維護。我深深的體會到這一點,因為我已經寫了很多這樣的代碼。;-)
為了避免上面的情況以及很多其他的情況發生。很多的核心PHP開發人員和團體成員走到了一起,開始了PEAR,一個著力於增加PHP擴充和外掛程式倉庫的項目。到現在未知,來源於PEAR項目的文檔和其他的東西還很少並且難以理解,這篇文章試圖向開發人員們講述他們(PEAR小組)所做的事情。
決定代碼可維護性的重要因素是代碼的格式和注釋。一個工程的所有代碼應該以貫穿始終的形式組織。我非常堅持程式碼程式庫的建設,我想程式員們也應如此。
(1)縮排
開發人員所有的代碼應該完全按照縮排的方式書寫。這是提高代碼可讀性最基本的措施。即使你沒有注釋你的代碼,縮排對於讓其他人讀懂
你的代碼也是非常大的協助。
例如下面的例子:
while ($x < $z) {
if ($a == 1) {
echo A was equal to 1;
} else {
if ($b == 2) {
//do something
} else {
//do something else
}
}
}
PEAR草案標準要求利用4個空格縮排而不是利用tab。我個人並不同意這個觀點,我想我仍然會繼續利用tab鍵。我認為使用tab比多個空格能夠讓檔案變得更小。而更小的檔案能夠更快的被解釋、上傳、下載等等。而使用tab還有一個很大的有點,就是當觀看其他人的代碼時,你能夠自己設定tab鍵的空格數。我通常使用8個空格長度的tab鍵設定,但是最近換成了4個空格長度的,呵呵,我把他稱為代碼的成重新格式化,僅僅是個人的愛好啦。

(2)控制結構
這個很大程度上取決於個人口味。我仍然可以看到很多的控制結構代碼不帶分支語句造成可讀性非常差,如果你使用IF語句時不帶分支,不但可讀性變差,當其他人修改你的程式時,還會造成很多的bug。請看下例:
不好的例子:
if ($a == 1) echo A was equal to 1;
這是非常難以辨認的。它能夠正常工作,但是除了你之外,別人根本不會讚賞這句代碼。
有改進的例子:
if ($a == 1)
echo A was equal to 1;
現在至少這句代碼可以讀懂了,但是仍然沒有很好的可維護性。如果當$a==1的時候我希望一個附加的事件發生,或者需要添加分支呢?如果後來的程式員忘記了添加大括弧或者else關鍵字,那麼程式中將出現bug。
完美的例子
if (($a == 1) && ($b==2)) {
echo A was equal to 1;
//很容易的可以添加其他代碼
} elseif (($a == 1) && ($b==3)) {
//其他動作
}
請注意在if和elseif後面的空格,這會將本語句和函數調用區分開來,此外,雖然在elseif的執行程式段中沒有語句,只有注釋,表面上顯得多餘可是卻給以後維護程式的程式員給予了非常方便的提示,並且非常利於添加功能。
來源:奧索網

http://www.bkjia.com/PHPjc/531830.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/531830.htmlTechArticle原作者:Tim Perdue 來源:www.phpbuilder.net 在很多情況下PHP最可貴的特點也可能是它最薄弱的環節就是它的文法鬆散性。 PHP能夠如此廣泛的被使...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.