Re: 命名的習慣問題
※ 引述《liunate (測試)》之銘言:
: ※ 引述《seagal (待救的小米)》之銘言:
: : 我會有這習慣ㄝ
: : Microsoft不建議的原因是?
: 書中寫:
: 在Microsoft Visaul Studio.NET的開發環境中,藉由在程式碼編輯器中
: 移動滑鼠到一個欄位的上方,則有關一個欄位或變數的型態資訊可以方便的取得。
: 另外前置詞形式限制開發者需要改變變數型態的能力。
請看382,之前我有討論過。
prefix的功能就是較清楚,不需依賴編輯器另外提供,
儘管知道上述的理由,依割捨不掉prefix。
直到我去學習java,再回來看.Net,發現物件名又臭又長
你怎麼prefix,到後來辨識效果遞減~
我終於鼓起勇氣,用java的命名法在.Net中,
直接以該變數的目的去命名,而不用其type,的確很好作改變。
但怎麼避免local區域的變數型態混肴呢?
我的方法是大量善用區域變數,也就是說變數名不會重頭用到尾
而是某區段就換其他變數來equal它!
localize化的撰寫方式,若是混肴了,也很容易再辨識回來
而在copy/paste也變得很方便。
舉例來說:
只要是子區域變數,名稱皆用小寫,用_來區隔
public void getMethodName(string userName)
{
string user_name = userName;
//上句這樣作的原因是參數若變了,也不影響裏頭! 要作變化也行,如trim()。
接下來有2個子區段,裏頭的變數都是小寫加底線,若有變數跨2子區段
用java命名法, 首字小寫,如 myChineseName.
// 區段1
string my_name = "tomex";
// 區段2
string s2 = myChineseName;
}
而global的變數,我用全大寫加底線命名,THIS_MAX_COUNT = 0;
以上我都不帶有型別,看到全小寫的變數,就能知道它不會活很久
首字小寫的,能活久一些,但不出method()。
如此,沒有型態prefix,也很容易抓type。
變數命名,每個人習慣不同,但基本精神一定要雷同
例如instance變數,首字一定是小寫的。
不要介意變數長度,要自訂時,就用另一變數來equal它,如
string s1 = myEnglishName;
總之,讀一下共同原則,自訂的命名法變數不要讓它活很久,
這樣子大家都能接受。
--
You're recommended to vist C_Sharp in PTT.
We are the C#, resistance is futile.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.183.211
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章