- 使用命名常量:
- 将频繁使用的数字字面量定义为命名常量。例如,如果项目中多次使用圆周率
3.14159
,可以定义 PI = 3.14159
,然后在计算圆的周长或面积等相关逻辑中使用 PI
,而不是直接写数字字面量。这样当需要修改 PI
的精度时,只需要在定义处修改一次,而不用在整个项目中查找并修改所有出现 3.14159
的地方。
- 示例代码:
PI = 3.14159
radius = 5
circumference = 2 * PI * radius
- 使用下划线分隔数字字面量:
- 对于较大的数字,使用下划线提高可读性。例如,数字
1000000
可以写成 1_000_000
,这样更容易看出它是一百万,而不会因为数字位数多而看错。在金融计算等涉及大额数字的场景中,这种方式很有用。
- 示例代码:
large_number = 1_000_000
result = large_number * 2
- 添加注释说明数字字面量含义:
- 对于一些难以理解其用途的数字字面量,添加注释进行说明。比如在一个图像处理项目中,如果有一个数字
128
用于表示某种颜色通道的阈值,可添加注释 # Threshold for color channel
来说明其用途,方便其他开发人员理解相关计算逻辑。
- 示例代码:
threshold = 128 # Threshold for color channel
if pixel_value > threshold:
# Do something
pass
- 避免魔法数字:
- 所谓魔法数字,就是在代码中突然出现且没有任何解释的数字字面量。要尽量避免这种情况,将其转化为有意义的命名常量或添加注释。例如,在一段循环代码中,如果有
for i in range(5)
,而 5
没有任何解释,应该考虑将 5
定义为 MAX_ITERATIONS = 5
并使用 for i in range(MAX_ITERATIONS)
,这样其他开发人员能更清楚这个循环的迭代次数是基于一个特定的最大值。
- 示例代码:
MAX_ITERATIONS = 5
for i in range(MAX_ITERATIONS):
# Loop body
pass