必威体育Betway必威体育官网
当前位置:首页 > IT技术

尽量不要用Magic Number

时间:2019-08-12 10:44:25来源:IT技术作者:seo实验室小编阅读:82次「手机版」
 

magic number

我说的magic number是指程源代码里的数字。

  摘自百度百科:

在源代码编写中,用这么一种情况:编码者在写源代码的时候,使用了一个数字,比如0x2123,0.021f等,他当时是明白这个数字的意思的,但是别的程序员看他的代码,可能很难理解,甚至,过了一段时间,代码的作者自己再看代码的时候也忘记了这个数字代表的含义.于是感叹,

  -虽然不知道这个数字是干什么用的,究竟代表什么,但是编译后的程序可以正常运行,真是"魔术般的数字"啊  magic number 即源于此.

  有时自己写代码,特别是底层驱动,经常直接用数字,比如要传给上层的消息用的枚举或宏定义,因为头文件路径没有在项目头文件路径里,无法包含,懒得做修改,就直接返回对应的数字。

最近就遇到个奇怪问题,从硬件软件一通查,最后发现最下面返上来的数字有问题,由于不知道数字意义,进行修改时处理错了,花了好多时间查找问题。

给用到的数字起个名字,用枚举或宏定义代替数字,有以下好处:

1.代码里可以顾名思义,不用猜数字代表的意义,修改代码也可以更准确快速。

2.多处使用的情况,需要修时,只需要修改枚举和宏定义,既容易修改,又不会漏改。

相关阅读

ROW_NUMBER() OVER()函数用法详解 (分组排序 例子

语法格式:row_number() over(partition by 分组列 order by 排序列 desc) row_number() over()分组排序功能: 在使用 row_number()

Harmonic Number (欧拉常数or打表)

In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers: In this problem

SWIFT Code 和 Routing Number 的关系

SWIFT Code该号相当于各个银行的身份证号每个银行(包括每个分行、支行)都有一个代码,是由银行名称的英文缩写和总行所在地的英文缩

mybatis Parameter index out of range (1 > number o

今天遇到了一个有意思的问题,看错误信息提示,好像是有个参数没有匹配上,具体错误信息如下: ### SQL: SELECT count(*) FROM (SELECT

java.lang.NumberFormatException 错误及解决办法

前言: 在做后台时用的jsp开发,在页面向controller传参时用String接收的参数,但是数据库实体中jies接收该参数时是int类型,做了一下强

分享到:

栏目导航

推荐阅读

热门阅读