MIT在edx上课程--JAVA软件构造--课程材料翻译

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

2016-12-15  本文已影响0人  达贡之邪力

原文地址: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]就更加清晰了.

上一篇下一篇

猜你喜欢

热点阅读