[英]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.