php好代碼風(fēng)格的階段性總結(jié)
本文總結(jié)了php好代碼的風(fēng)格,分享給大家供大家參考,具體如下:
1、避免使用魔數(shù)
if($age<18){ }
這個(gè)18不太明白為什么要這樣子。
可以將28定義在一個(gè)變量里面,這個(gè)變量命名表明了這個(gè)值的含義
$adult_age = 18;//成年的分界點(diǎn)年齡 if($age<$adult_age){ }
2、函數(shù)的返回結(jié)果:不要使用一個(gè)變量來存儲(chǔ)返回結(jié)果
一旦你知道了返回結(jié)果,就應(yīng)該馬上返回。這樣做的好處,是可以減少錯(cuò)誤。
3、函數(shù)帶有很多的參數(shù)。不要超過三個(gè)
如果參數(shù)很多,盡量聚合成一個(gè)model傳遞進(jìn)去。比如一個(gè)數(shù)組,一個(gè)實(shí)例都可以。
太多的參數(shù)為什么影響方法的穩(wěn)定性呢?
比如修改就會(huì)變得很麻煩。
我現(xiàn)在明白了。這個(gè)方法需要新加一個(gè)參數(shù)傳遞進(jìn)去,那么原來調(diào)用這個(gè)方法的代碼,就得跟著改變。
在做接口的時(shí)候,經(jīng)常會(huì)遇到類似的問題。
function forgot($userName, $email, $email_url, $format = 'json')
上面是三個(gè)參數(shù)。
原來別人調(diào)用這個(gè)函數(shù)是,
forgot($userName, $email, $email_url, $format = 'json');
現(xiàn)在需求要變化了,需要新增加一個(gè)參數(shù)。怎么辦?
原來的代碼就要跟著修改。方法并不穩(wěn)定。要么就重新開一個(gè)方法適應(yīng)新的需求。要么就修改調(diào)用方的調(diào)用代碼。
但是有種辦可以避免這種問題
把原來傳遞參數(shù)做成數(shù)組形式,如下:
forgot($params=array(),$format = 'json');
聚合成一個(gè)數(shù)組。這樣可以加任意多個(gè)參數(shù)。
如何理解:php引擎的內(nèi)置函數(shù),帶有多個(gè)參數(shù)的情況呢?
設(shè)計(jì)缺陷?
4、方法的參數(shù)中含有布爾參數(shù)。
這意味著,這個(gè)方法不是完成一個(gè)單一的目標(biāo)。違背了單一職責(zé)。增加了復(fù)雜性。
留給大家思考:如何理解我們現(xiàn)在代碼中的問題呢
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php正則表達(dá)式用法總結(jié)》、及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- 快速設(shè)置IDEA代碼風(fēng)格為Google風(fēng)格
- eslint+prettier統(tǒng)一代碼風(fēng)格的實(shí)現(xiàn)方法
- 配置eslint規(guī)范項(xiàng)目代碼風(fēng)格
- 實(shí)例詳解Vue項(xiàng)目使用eslint + prettier規(guī)范代碼風(fēng)格
- 如何使用 Pylint 來規(guī)范 Python 代碼風(fēng)格(來自IBM)
- Pycharm學(xué)習(xí)教程(2) 代碼風(fēng)格
- .Net 項(xiàng)目代碼風(fēng)格要求小結(jié)
- 當(dāng)前流行的JavaScript代碼風(fēng)格指南
- 你應(yīng)該知道的Ruby代碼風(fēng)格
- 關(guān)于更改Zend Studio/Eclipse代碼風(fēng)格主題的介紹
- JQuery入門—JQuery程序的代碼風(fēng)格詳細(xì)介紹
- Java黑科技之通過Google Java Style 文件配置IDEA和Ecplise代碼風(fēng)格
相關(guān)文章
Zend Studio (eclipse)使用速度優(yōu)化方法
Zend studio7.12那速度正太讓人火大了,修改文件的保存就building workspace,要得等上好一會(huì)2011-03-03php多線程實(shí)現(xiàn)方法及用法實(shí)例詳解
這篇文章主要介紹了php多線程實(shí)現(xiàn)方法及用法實(shí)例,PHP多線程實(shí)現(xiàn)方法和fsockopen函數(shù)有關(guān),需要的朋友可以參考下2015-10-10讓你的網(wǎng)站首頁自動(dòng)選擇語言轉(zhuǎn)跳
讓你的網(wǎng)站首頁自動(dòng)選擇語言轉(zhuǎn)跳...2006-12-12php操作sqlserver關(guān)于時(shí)間日期讀取的小小見解
以前一直在用mysql對(duì)sqlserver不是很熟悉,于是摸著石頭過河。沒有別的至少mysql和sqlserver還算是親戚 做條件查詢的時(shí)候。出現(xiàn)了問題2009-11-11無法在發(fā)生錯(cuò)誤時(shí)創(chuàng)建會(huì)話,請(qǐng)檢查 PHP 或網(wǎng)站服務(wù)器日志,并正確配置 PHP 安裝(win+linux)
今天幫客戶配置服務(wù)器的時(shí)候運(yùn)行phpmyadmin出現(xiàn)了“無法在發(fā)生錯(cuò)誤時(shí)創(chuàng)建會(huì)話,請(qǐng)檢查 PHP 或網(wǎng)站服務(wù)器日志,并正確配置 PHP 安裝?!钡腻e(cuò)誤,經(jīng)排查原來是權(quán)限問題,大家可以參考下面的方法解決2012-05-05XAMPP升級(jí)PHP版本實(shí)現(xiàn)步驟解析
這篇文章主要介紹了XAMPP升級(jí)PHP版本實(shí)現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09