什麼是一些可能的方法來命名代表一個數字範圍的變量?例如,我正在開發一個指標應用程序,用於顯示某人在隊列中某些項目的年齡。他們在編號範圍的命名約定
- 0-50天測量
- 51-100天
- 100+天
我想過拼寫出範圍:zeroToFifty
,range0-50
。我還考慮用「部分」命名它們:first
,second
,third
,但這並不證明是非常具有描述性的。你們做了什麼來代表數字範圍?
什麼是一些可能的方法來命名代表一個數字範圍的變量?例如,我正在開發一個指標應用程序,用於顯示某人在隊列中某些項目的年齡。他們在編號範圍的命名約定
我想過拼寫出範圍:zeroToFifty
,range0-50
。我還考慮用「部分」命名它們:first
,second
,third
,但這並不證明是非常具有描述性的。你們做了什麼來代表數字範圍?
首先,像ZeroToFifty這樣的名稱並不是真的很具描述性,幾乎沒有比if (number < 50)
好。如果可能的話,變量名稱應該提供更多的信息,但仍然簡短。其次,我建議針對將數值嵌入到常量中 - 如果您決定底部範圍變爲60,則ZeroToFifty命名將不再匹配。如果您不必在整個代碼庫中重構名稱更改,稍後調整值會容易得多。另外,常量用戶可能不關心50,他們關心的是「年輕還是老年?」。
所以你需要考慮「這些數字範圍代表什麼」?
這取決於使用情況,但您可能會發現Young, Mature, Old
適合您的情況,因爲它描述了項目的年齡(並因此爲您提供了有關該值的含義或用法的強大線索)。或者也許Modern, Classic, Vintage
。或者Baby, Child, Adult
。 (如果他們「符合」你的想法)。
在C#中,如果使用枚舉類型,則必須始終使用類型名稱,這也有助於闡明含義:ItemAge.Young/Mature/Old
或TimeInQueue.Short/Medium/Long
。
我知道這不是問題的原意,但是對於範圍很廣的情況,您會提出什麼建議? 1-10,11-20,...,140-150? Range1,Range2 ...? – Jeff 2013-04-22 19:27:53
@Jeff:這取決於範圍的數量。如果有5個以上的範圍,就很難找到足夠的名字來形成連貫的列表,所以更通用的數字序列更容易(Age01,Age02,Age03 ...)。但是,如果使用大量範圍進行編碼,則放棄枚舉類型並開始使用Map/Look Up表來轉換簡單索引值(1,2,3)和範圍(1-10,11- 30,31-73)。然後,命名的重要性更多地落在變量上(ageIndex與ageRange等) – 2013-04-22 19:35:34
我能想到的是:無論你想要什麼,但選擇一個並堅持下去。 – 2013-04-22 18:54:39
zeroToFifty,fiftyOneToHundred和hundredPlus獲得我的投票。 – Brian 2013-04-22 18:55:50
我可以給出的最佳答案是以一種對你而言有意義的方式命名它們,或者在下一個人工作的時候。 – MyCodeSucks 2013-04-22 18:57:27