有沒有人有任何關於窗體和控件(例如,事件,按鈕)命名約定的指導方針/最佳實踐?C#和Windows窗體控件命名指南
回答
我通常在全部類名的前面加上eg textBoxName。我發現它比三個字母前綴更容易閱讀,並且與IDE生成的名稱一致。我只命名代碼引用的控件。數據綁定的控件通常不需要名稱。
Winforms中我通常使用的後綴,因此,例如:
submitButton
accountNumberLabel
等
但是很多公司仍然使用前綴,就像anthares說的那樣。
我使用相同的。隨着VS 2010中改進的Intellisense,它變得更加容易和更加有組織。 在標籤的情況下,你可能有一個標籤的變化值和一個標籤告訴用戶它是什麼,我用這個: 'clientNameLabel'和 'clientNamePrefixLabel' – Fusyion 2010-11-09 10:41:21
我不認爲表單開發需要特別的規則; the Microsoft .NET naming guidelines掩蓋它。
我的名字等在應用的任何其它類的形式:MainForm
,SaveDialog
等
我的名字等一類內的任何其他字段控制:okButton
,nameTextBox
等
下面的例子是大部分.net程序員都使用了
Control: Label
Prefix : lbl
Example: lblFirstName
的原因,前綴是不是在大多數公司,但類名的一些縮寫的全類名如下:
- 大部分的命名約定之前,Visual Studio 2010中 批准
- 所有Visual Studio版本在2010之前都有它們的inteli sense過濾器,其中包含「開頭」而不是包含。
這就是爲什麼很多人/設計師/領導人決定這將是一個更好的主意,鍵入「TXT」和inteli感會過濾你所有的文本框,這樣,那麼你只需要輸入「E」,例如,你得到txtEmail。如果你有完整的類名,你需要鍵入「textBoxE」才能獲得相同的結果。當你有複雜的用戶界面時,這會增加很多過熱。
現在用Visual Studio 2010中你得到一個更好的inteli感,所以你可以只輸入「EM」,你可以easilly在列表中看到了「textBoxEmail」(與電子郵件一起和包含「EM」一些其他的事情)。不過,我似乎更喜歡有2-3或4個字母的縮寫,這將允許我通過控件類型(特別是用於UI)在inteli sense中進行過濾,而不必鍵入textBox。我更喜歡它的原因是,即使你對某種控制類型感到困惑了一段時間(例如RadGrid的「rg」),你需要3-4分鐘才能記住它並開始打字而不用考慮它。而如果你在任何地方都有radGrid,則需要點擊7個筆畫才能找到能夠爲你篩選的有意義的(例如「radGridCustomers」中的「radGridC」)。
我同意只有在代碼中引用的命名控件通常就足夠了。
- 1. C#命名空間指南
- 2. Windows窗體控件
- 3. Objective-C類的命名指南
- 4. C#中的控制檯和Windows窗體#
- 5. C#Windows窗體.Net和DOS控制檯
- 6. Windows窗體:用戶控件和事件
- 7. C#Windows窗體控件丟失邊框?
- 8. C#鎖定一個Windows窗體控件
- 9. C#Windows窗體用戶控件
- 10. 繼承C#中的Windows窗體控件
- 11. 命名指南 - 命名通用對象
- 12. CSS範圍和編碼/命名指南
- 13. JavaScript的命名指南
- 14. 重命名Windows窗體應用程序及其文件C#
- 15. 實體框架6 Web窗體指南?
- 16. C#窗體控件
- 17. 使Windows窗體控件只讀和IDisposable
- 18. C#中windows控件的命名約定
- 19. Windows窗體控件裝飾
- 20. Windows窗體拖動控件
- 21. C#Windows窗體和XAML
- 22. C#Windows窗體和devExpress
- 23. C#DataGridView和Windows窗體
- 24. C#中的事件和Windows窗體#
- 25. HTML窗體和控件名稱
- 26. 使用C#添加和刪除動態控件Windows窗體#
- 27. Windows窗體設計器重命名複製/粘貼控制
- 28. 是否有Windows窗體中tabindex行爲的權威指南?
- 29. DocumentCompleted事件(Windows窗體C#)
- 30. Windows窗體C#
你不遵循FxCop的建議,我拿?從您的維基百科鏈接:「.NET的命名約定指南建議不要使用匈牙利符號」 – 2010-11-09 10:39:13
同意,但僅限於表單元素。當使用與Visual Studio一樣強大的IDE時,以這種表示法命名所有變量不是必需的。真的不需要像int iNumber和bool bEnabled這樣的東西。 – Khalos 2010-11-09 10:40:58
是真的,我覺得非常方便,我非常習慣。另外,我工作過的最後兩家公司也使用這種表示法,所以這不僅是我個人的看法。我們僅將它用於UI元素。不適用於所有變量! – anthares 2010-11-09 10:41:41