我負責的幾個函數與一些代碼味道:函數返回值或整數狀態代碼重構
public function example($a, $b, $c) {
$something = doSomething($a);
$more = doMoreStuff($b,$c);
$evenMore = doEvenMoreStuff($a,$c);
if(!$something) {
//error code because blablabla
return 1;
}
if(!$something and $more == "whatever") {
//another different error because blebleble
return 2;
}
if(!$more) {
//this means another error because bliblibli
return 3;
}
if(!$evenMore) {
//yep, error, returning code error 4
return 4;
}
//etc...
//if no errors
return $something + $more + $evenMore;
}
我應該如何處理這些錯誤代碼?我想在像這樣創建具有常量值的類:
class ExampleError {
const BLABLABLA = 1;
const BLEBLEBLE = 2;
const BLIBLIBLI = 3;
const BLOBLOBLO = 4;
}
然後重構功能多變的線條像
return 1;
;
到
return ExampleError::BLABLABLA;
試圖使其更具可讀性。有更好的方法嗎?
mmm,錯誤包括'丟失的ID字段','問題更新數據','無效狀態',...(他們是邊緣情況?),感謝術語「幻數」 – vivoconunxino
謝謝內維爾,我真的感謝你的taughts – vivoconunxino