首先:我試着谷歌它,但我大多隻找到關於如何在常量和其他無關信息中定義數組的討論。只包含常量的PHP類
我有一個解決方案的問題,使我的代碼更可讀性(和漂亮),只是發生在我身上。基本上我有大多數函數返回一個表示成功的狀態碼,或者在出現錯誤的情況下返回一個錯誤碼。對於這一點,我做了一個叫「的StatusCode」類,它包含唯一不變的,就像這樣:
<?php
class StatusCode {
const success = 0;
const badArgument = -1;
const badQuery = -2;
const outOfMana = -3; //Really just for demonstration purposes
...
}
的目的是使幻數從我的代碼消失,並明確了什麼問題,而不必尋找一個解釋某處:
if (mana > 10) {
//Do some magic
return StatusCode::success;
}
else {
//Oh god this is not good!
return StatusCode::outOfMana;
}
它還應該消除意外使用重複錯誤代碼的可能性。 我很確定這會給我的應用程序增加一個小的開銷,但是使我的代碼更易於理解。有沒有一些地球破碎的理由不這樣做?也許有更好的方法去解決它?
(我已經避免了define(CONSTANT, "value")
方法,因爲它顯得不那麼漂亮,這是給我的德式鍵盤:)上寫一個麻煩)
沒有理由不去做你所做的事情。如你所說,它使你的代碼更具可讀性。至於增加開銷,即使它是真的,它也是最小的開銷。至於更好的方法,通過使用接口來定義常量,已經做了許多變化。 TL; DR - 你做的很好。 –
完全同意@ N.B。說過。我這篇文章唯一的問題是,它應該在代碼審查,而不是在這裏;) – Prisoner
在編碼風格的這個小角落,你的選擇是絕對最好的。而在談論風格時,人們往往不會說「絕對最好」。 ;-)順便說一句,你可能想讓這個類是'abstract'或'final'作爲它不應該被使用的附加提示。不幸的是,它不可能是兩個,這將達成協議。 – Jon