背景披露: 我一直在努力研究PHP項目一段時間,但直到最近纔開始認真查找最佳實踐,oop設計模式,新的php版本功能等等。我應該總是在PHP中檢查函數的參數嗎?
很多我的代碼最終看起來像這樣:
public function($arg1 = 'default', $arg2 = false)
{
if(!empty($arg2) && $arg1 != 'default) {
// do something here
}
}
幾乎所有我在github上和諸如此類的東西看到正確的OOP代碼從不檢查所使用的參數的存在或正確的類型。
我的問題是:是否認爲總是對參數進行冗餘檢查或僅在特殊情況下可能發生某些錯誤(tm)時纔是一種很好的做法。
例如,運行SQL查詢並在獲取結果後,我總是做 if(!empty($results)) //go do stuff
我應該這樣做呢?我是偏執狂嗎?
我認爲這是一種不好的做法,總是做任何事情 – 2013-05-14 20:26:15
我總是檢查,但離最佳實踐還很遙遠; p,它沒有受傷,並且會使得處理錯誤變得更容易 –
更好的做法的開始將是_not_給予默認情況下,如果你不想這些默認值,那麼當人們使用錯誤的代碼時,會出現一個很好的E_NOTICE錯誤,甚至可以記錄這些錯誤,以確定事後發生錯誤的位置。不要爲我隱瞞這些錯誤...驗證論證的內容取決於個案的基礎,這通常與潛在的破壞性或破壞性會產生錯誤的價值有關。沒有SQL查詢的結果不是錯誤,而是我書中的有效結果。 – Wrikken