一、避免使用魔數php
if($age<18){json
}數組
這個18不太明白爲何要這樣子。函數
能夠將28定義在一個變量裏面,這個變量命名代表了這個值的含義url
$adult_age = 18;//成年的分界點年齡設計
if($age<$adult_age){orm
}接口
二、函數的返回結果:不要使用一個變量來存儲返回結果io
一旦你知道了返回結果,就應該立刻返回。這樣作的好處,是能夠減小錯誤。function
三、函數帶有不少的參數。不要超過三個
若是參數不少,儘可能聚合成一個model傳遞進去。好比一個數組,一個實例均可以。
太多的參數爲何影響方法的穩定性呢?
好比修改就會變得很麻煩。
我如今明白了。這個方法須要新加一個參數傳遞進去,那麼原來調用這個方法的代碼,就得跟着改變。
在作接口的時候,常常會遇到相似的問題。
function forgot($userName, $email, $email_url, $format = 'json')
上面是三個參數。
原來別人調用這個函數是,
forgot($userName, $email, $email_url, $format = 'json');
如今需求要變化了,須要新增長一個參數。怎麼辦?
原來的代碼就要跟着修改。方法並不穩定。要麼就從新開一個方法適應新的需求。要麼就修改調用方的調用代碼。
可是有種辦能夠避免這種問題
把原來傳遞參數作成數組形式,以下:
forgot($params=array(),$format = 'json');
聚合成一個數組。這樣能夠加任意多個參數。
如何理解:php引擎的內置函數,帶有多個參數的狀況呢?
設計缺陷?
四、方法的參數中含有布爾參數。
這意味着,這個方法不是完成一個單一的目標。違背了單一職責。增長了複雜性。
思考:如何理解咱們如今代碼中的問題呢