我正在使用PHP(但在這種情況下,我認爲編程語言並不重要),並且在我的班級方法中,我通常會遇到以下情況:標準化的返回值 - 這是好還是不好的想法
- 方法必須返回真正或假
- 方法必須返回真正或錯誤消息
- 方法必須返回噸芸香 + 成功消息或假 + 錯誤消息
- 方法必須返回真 + 成功結果(對象,數組等等)或假
- 方法必須返回true + 成功結果(object,array,whatever)或false + 錯誤消息
- 等
我的問題是,當我用我的代碼這個類方法的地方,我總是要回來的類,並檢查什麼方法實際上返回:只需真正或假,真正或錯誤消息等
是一個好主意,以規範的返回值?如果是,如何?
我的想法是:
- 如果函數返回真正或假然後簡單地返回真或假
如果函數返回真正或錯誤信息 then:
if (success) { return array( TRUE, null ); } else { return array( FALSE, $error_message ); }
如果函數返回真正 + 成功消息或錯誤,那麼消息:
if (success) { return array( TRUE, $success_message, ); } else { return array( FALSE, $error_message ); }
等
我希望你明白我的傢伙問題,甚至認爲我的解釋不是很好:) 您有哪些建議或最佳做法?我該如何處理?
UPDATE: 讓我們舉一個簡單的例子:
function login($username, $password)
{
// Login logic here ..
if ($logged_in)
{
return TRUE;
}
{
return $error_message;
}
}
那麼做,這將是正確的做法:返回真,或拋出異常,並調用登錄方法時withing做一個嘗試捕獲。所以,當某個錯誤出現(驗證失敗等)時,我應該使用異常。
這個問題不是很適合這個網站,可能會被關閉。請查看[常見問題](http://stackoverflow.com/faq)以獲取有關在此提出的問題的更多信息。 Stackoverflow並非真正意見或建議。 – jmort253 2012-03-06 08:26:13
我正在尋找'最佳實踐',這在這種情況下非常有效。我需要一個'模式'使用..這是一個問題,我正在尋找一個解決方案。我不需要意見。我需要有效的解決方案。我認爲其他人也遇到類似的效率問題,而一個好的解決方案也可以幫助他們。 – 2012-03-06 08:28:27