好的程式碼風格積累

王滔發表於2015-11-11

 

1、避免使用魔數

 

if($age<18){

 

}

 

這個18不太明白為什麼要這樣子。

 

可以將28定義在一個變數裡面,這個變數命名錶明瞭這個值的含義

 

 

$adult_age = 18;//成年的分界點年齡

if($age<$adult_age){

 

}

 

 

2、函式的返回結果:不要使用一個變數來儲存返回結果

 

一旦你知道了返回結果,就應該馬上返回。這樣做的好處,是可以減少錯誤。

 

 

3、函式帶有很多的引數。不要超過三個

 

如果引數很多,儘量聚合成一個model傳遞進去。比如一個陣列,一個例項都可以。

太多的引數為什麼影響方法的穩定性呢?

比如修改就會變得很麻煩。

我現在明白了。這個方法需要新加一個引數傳遞進去,那麼原來呼叫這個方法的程式碼,就得跟著改變。

 

在做介面的時候,經常會遇到類似的問題。

 

 function forgot($userName, $email, $email_url, $format = 'json')

 

上面是三個引數。

 

原來別人呼叫這個函式是, 

 

forgot($userName, $email, $email_url, $format = 'json');

 

現在需求要變化了,需要新增加一個引數。怎麼辦?

 

 

 

原來的程式碼就要跟著修改。方法並不穩定。要麼就重新開一個方法適應新的需求。要麼就修改呼叫方的呼叫程式碼。

 

 

但是有種辦可以避免這種問題

把原來傳遞引數做成陣列形式,如下:

forgot($params=array(),$format = 'json');

聚合成一個陣列。這樣可以加任意多個引數。

 

 

如何理解:php引擎的內建函式,帶有多個引數的情況呢?

 

設計缺陷?

 

 

 

4、方法的引數中含有布林引數。

 

   這意味著,這個方法不是完成一個單一的目標。違背了單一職責。增加了複雜性。

 

  思考:如何理解我們現在程式碼中的問題呢

 

相關文章