[英]Using constants instead of numbers - c
我目前正在学习 c,我们的老师告诉我们,我们不应该在代码中使用纯数字,并且始终使用常量。
例如:
不要这样做:
if (age >= 18) {...}
做这个:
#define MIN_AGE 18
// ...
if (age >= MIN_AGE) {...}
他们没有给我们任何理由说明为什么要这样做,我很困惑。 这真的推荐吗? 为什么?
使用变量的原因是更容易维护和可视化。 在没有您显示的变量的代码中,直接在if
语句中更改值不会有太大问题,因为您只使用了一次。
if (age >= 18) {...}
因此,如果您需要将值更改为 17(例如),您可以这样做:
if (age >= 17) {...}
但是想象一下,如果您的代码中有更多if
语句,如下例所示:
if (age >= 18) {...}
if (age >= 18) {...}
if (age >= 18) {...}
您需要在每个语句中逐个更改它。 使用变量会容易得多,因为您可以更改分配给变量的值:
#define MIN_AGE 17
并且所有其他MIN_AGE
变量都已经正确:
if (age >= MIN_AGE) {...}
if (age >= MIN_AGE) {...}
if (age >= MIN_AGE) {...}
此外,这更容易理解MIN_AGE
的含义,代码将更好地阅读和理解。
对不起,我的英语不好顺便说一句!
这样做的目的是为变量命名。 为什么18很特别? 如果我们谈论在美国购买酒精,我们可能会有一个宏观:
#define MIN_AGE_TO_PURCHASE_ALCOHOL 18
对于程序员来说,这个字符串比 18 更容易理解。尤其是当你在 10 年后继续支持这个代码时。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.