博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.8 以符号常量/字面常量取代魔法数
阅读量:5104 次
发布时间:2019-06-13

本文共 743 字,大约阅读时间需要 2 分钟。

【1】源代码

1 double CalcCircularArea(double radius)2 {3     return (3.1415) * radius * radius;4 }

【2】以符号常量/字面常量取代魔法数

1 #define PI (3.1415)2 3 double CalcCircularArea(double radius)4 {5     return (PI) * radius * radius;6 }

【3】总结

一个字面数值,带有特别含义。创造一个常量,根据其意义为它命名,并将上述的字面数值替换为这个常量。

哪些数字是不属于Magic Number的呢?下面是允许的情况:

1. [1],循环开始的索引值

2. [0]、[1],数组循环的索引值

3. [10],在处理10进制数字的时候使用的10,比如进行求余

4. [2],进行加倍或减半的情况下是允许的

5. [2],在判断为奇数或偶数的情况下使用的2是允许的

6. 十六进制数字[80]、[01],进行判断最高值和最低值的位运算的时候

7. [0]、[1],在没有bool型的语言中可以来表示bool值,但是在有bool值的语言中,是不允许的

8. [0],在C语言中有时候表示null,但是希望多用null来表示

9. [-1]、[~0],在进行位运算的时候表示各位都为1的数字

10.[1],在加1和减1的算法中的1也不作为魔法数字

备注:0、1、-1是频繁出现的数字,有时候不把它定义为魔法数字。

 

Good Good Study, Day Day Up.

顺序 选择 循环 总结

转载于:https://www.cnblogs.com/Braveliu/p/7357517.html

你可能感兴趣的文章
程序员的数学
查看>>
聚合与组合
查看>>
洛谷 P2089 烤鸡【DFS递归/10重枚举】
查看>>
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
[leetcode]Minimum Path Sum
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Screening technology proved cost effective deal
查看>>
mysql8.0.13下载与安装图文教程
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
Kotlin动态图
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
可选参数的函数还可以这样设计!
查看>>
[你必须知道的.NET]第二十一回:认识全面的null
查看>>