码迷,mamicode.com
首页 > 其他好文 > 详细

不允许出现任何魔法值(即未经定义的常量)直接出现在代码中?

时间:2020-06-05 12:52:21      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:boolean   value   checked   val   answer   现在   十分   疑惑   code   

我最近在硅谷与很多公司交流,对于这一点,老外也觉得有点费解,对于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

不允许出现任何魔法值(即未经定义的常量)直接出现在代码中?

标签:boolean   value   checked   val   answer   现在   十分   疑惑   code   

原文地址:https://www.cnblogs.com/wqkeep/p/13048926.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!