使用常量代替数字 - c
Using constants instead of numbers - c
我目前正在学习 c,我们的老师告诉我们永远不要在代码中使用纯数字,而应始终使用常量。
例如:
不要这样做:
if (age >= 18) {...}
这样做:
#define MIN_AGE 18
// ...
if (age >= MIN_AGE) {...}
他们没有告诉我们为什么要这样做,我很困惑。这实际上是推荐的吗?为什么?
这样做的目的是给变量命名。为什么18特别?如果我们谈论在美国买酒,我们可能有一个宏:
#define MIN_AGE_TO_PURCHASE_ALCOHOL 18
对于程序员来说,这个字符串比 18 更容易理解。特别是当你在 10 年后继续支持这个代码时。
使用变量的原因是它更易于维护和可视化。在没有显示变量的代码中,直接在 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
的意思更容易理解,代码会更好读懂。
对不起,顺便说一句,我的英语不好!
我目前正在学习 c,我们的老师告诉我们永远不要在代码中使用纯数字,而应始终使用常量。
例如:
不要这样做:
if (age >= 18) {...}
这样做:
#define MIN_AGE 18
// ...
if (age >= MIN_AGE) {...}
他们没有告诉我们为什么要这样做,我很困惑。这实际上是推荐的吗?为什么?
这样做的目的是给变量命名。为什么18特别?如果我们谈论在美国买酒,我们可能有一个宏:
#define MIN_AGE_TO_PURCHASE_ALCOHOL 18
对于程序员来说,这个字符串比 18 更容易理解。特别是当你在 10 年后继续支持这个代码时。
使用变量的原因是它更易于维护和可视化。在没有显示变量的代码中,直接在 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
的意思更容易理解,代码会更好读懂。
对不起,顺便说一句,我的英语不好!