Re: 命名的習慣問題

看板C_Sharp (C#)作者 (tomex_ou)時間21年前 (2004/07/15 07:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/9 (看更多)
※ 引述《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
文章代碼(AID): #10zSCZBz (C_Sharp)
文章代碼(AID): #10zSCZBz (C_Sharp)