寫(xiě)出優(yōu)秀的程序代碼是一門(mén)藝術(shù),要想如此,就必須在一開(kāi)始就養(yǎng)成良好的編程習(xí)慣。良好的編程習(xí)慣不僅有助于項(xiàng)目初期的設(shè)計(jì)(如模塊化),還可以使你編寫(xiě)的代碼更易于理解,從而使代碼的維護(hù)工作更輕松、更省力。不好的編程習(xí)慣則會(huì)造成代碼bug,并且會(huì)使以后的維護(hù)工作困難重重。
本文以PHP語(yǔ)言為例,介紹一些良好的編程習(xí)慣,希望能夠?qū)δ阌兴鶐椭?/p>
1. 規(guī)劃代碼結(jié)構(gòu)
優(yōu)秀的PHP代碼應(yīng)該有清晰的結(jié)構(gòu)。PHP面向?qū)ο蟮奶匦栽试S程序員將應(yīng)用程序分解為函數(shù)或方法。如果代碼晦澀難懂,你也可以添加注釋,使代碼的功能一目了然。編碼時(shí)應(yīng)盡量將前端代碼(HTML/CSS/JavaScript)與應(yīng)用程序的服務(wù)端規(guī)則分開(kāi),或者你可以使用遵循MVC模式的PHP框架來(lái)構(gòu)建你的應(yīng)用程序。
2. 編碼風(fēng)格統(tǒng)一
優(yōu)秀的PHP代碼應(yīng)該具備統(tǒng)一的風(fēng)格。比如,為變量和函數(shù)制定統(tǒng)一的命名規(guī)則,為循環(huán)任務(wù)(比如數(shù)據(jù)庫(kù)存取、錯(cuò)誤處理)制定統(tǒng)一的接入標(biāo)準(zhǔn),或者保持有規(guī)律的代碼縮進(jìn),這些編碼習(xí)慣都可以讓別人閱讀代碼更加輕松。
3. 可移植性
優(yōu)秀的PHP代碼應(yīng)該具有可移植性。程序員應(yīng)學(xué)會(huì)運(yùn)用PHP現(xiàn)有的特性(比如魔術(shù)引號(hào)和短標(biāo)簽等),應(yīng)該了解產(chǎn)品需求,適應(yīng)PHP的特點(diǎn),保證寫(xiě)出的PHP代碼具有可移植性和跨平臺(tái)性。
4. 代碼安全性
優(yōu)秀的PHP代碼應(yīng)該具有安全性。PHP5具有卓越的特性和靈活性,但應(yīng)用程序的安全往往掌握在程序員的手中。作為專業(yè)的PHP開(kāi)發(fā)人員,應(yīng)該對(duì)安全漏洞有一些深入了解,常見(jiàn)的安全漏洞有跨站腳本攻擊(XSS)、跨站請(qǐng)求偽造(CSRF)、代碼注入漏洞和字符編碼漏洞等。使用PHP中的特定功能和函數(shù)(比如mysql_real_escape_string等)可以幫助程序員寫(xiě)出安全的代碼。
5. 添加注釋
代碼注釋是代碼中的重要組成部分,它解釋了函數(shù)運(yùn)行的目的,這種注釋會(huì)在代碼以后的維護(hù)中提供非常有用的幫助。
6. 避免簡(jiǎn)寫(xiě)標(biāo)記
應(yīng)使用完整的起始標(biāo)記,不推薦使用簡(jiǎn)寫(xiě)的起始標(biāo)記。
7. 用單引號(hào)代替雙引號(hào)
由于PHP會(huì)對(duì)雙引號(hào)中的內(nèi)容進(jìn)行變量搜索,為了避免這種搜索帶來(lái)的性能影響,程序員應(yīng)該使用單引號(hào)引用字符串。
8. 轉(zhuǎn)義輸出
應(yīng)該在htmlspecialchars函數(shù)中使用ENT_QUOTES參數(shù),保證單引號(hào)(')也可以被轉(zhuǎn)義。盡管沒(méi)有規(guī)定必須這樣做,但這是一個(gè)好習(xí)慣。
9. 使用逗號(hào)隔開(kāi)字符串輸出
字符串連接符(.)可以將單一的字符串傳遞給echo語(yǔ)句進(jìn)行輸出,與之相比,逗號(hào)可以實(shí)現(xiàn)echo語(yǔ)句中字符串的分別輸出,這對(duì)PHP來(lái)說(shuō)是一個(gè)性能改善。
10. 在輸出前檢查傳遞值
應(yīng)該記得在輸出前檢查$_GET['query'] 的傳遞值。使用isset函數(shù)或是empty函數(shù)可以檢查變量值是否為空。
您可能感興趣的文章:- 分享一個(gè)漂亮的php驗(yàn)證碼類
- php實(shí)現(xiàn)的漂亮分頁(yè)方法
- 一漂亮的PHP圖片驗(yàn)證碼實(shí)例
- 一個(gè)漂亮的php驗(yàn)證碼類(分享)
- 精美漂亮的php分頁(yè)類代碼
- php側(cè)拉菜單 漂亮,可以向右或者向左展開(kāi),支持FF,IE