不允許出現任何魔法值(即未經定義的常量)直接出現在代碼中?


我最近在硅谷與很多公司交流,對於這一點,老外也覺得有點費解,對於Magic Value也存在疑惑,尤其說到魔法表達式,更是有點摸不到頭腦。
魔法值隨意出現,主要是影響可讀性和代碼可維護性。這聽起來,象喊口號。
if (status == 99) .....if (status == 98) ...這個99,98啥意思?
定義出來:CHECKED = 99 / AUTHED = 98等。如果這個變量到處出現,放在一個定義處維護,明顯容易維護。
魔法表達式,就是十分冗長,不好理解。if ( a=3 || obj.getValue() == 3 && !() || ... && ...) {}
如果這一行想表達一個意思,庫存已經完了,就提前定義:boolean isGoodsExists = a=3 || obj.getValue() == 3 && !() || ... && ...;if ( isGoodsExists )
..這樣的話,閱讀快,根本不需要把表達式”密碼“破解才知道。我在美國,還是凌晨,只言片語回復一下,希望對你有幫助。

作者:知乎用戶
鏈接:https://www.zhihu.com/question/266749887/answer/313249429


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM