阅读材料二:代码复审>避免魔术数字

原文地址:https://courses.edx.org/courses/course-v1:MITx+6.005.1x+3T2016/courseware/Readings_Videos/02-Code-Review/

避免魔术数字

在计算机科学家眼中,只有两个常量被认为是有效的,它们是0和1,也许还有2.(好吧,3个常量).

所有其他常量被称为魔术,因为它们似乎是从稀薄的空气中冒出来的,没有任何解释.一种解释这些数字的方式是注释,但是更好的方法是去定义它成为一个命名的常量,以一个好的,清晰的名字.


代码1

dayOfYear充满了魔术数字:

--月份2,...,12写成FEBRUARY,...,DECEMBER会更好读懂.

--月份的天数30,31,28可以更好理解如果它们在一个数据结构比如数组,列表或者字典中.比如MONTH_LENGTH[month].

--神秘的数字59和90更是魔术数字的致命代表.不仅仅是他们没有注释和记录,而且他们是程序员自己笔算的结果.不要自己笔算常量的值.Java在算术方面比你强很多.明确的计算31+28比起刚刚的魔术数字来说要更具保护性.MONTH_LENGTH[JANUARY]+MONTH_LENGTH[FEBRUARY]就更加清晰了.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容