C#事件標準命名規則及說明(包括用作事件類型的委托命名)
C#事件標準命名規則
一些開源代碼的事件命名很混亂,以此文章用作本人以後工作的參考。
事件的名稱
事件始終是指某個操作,這個操作可能正在發生,也可能已經發生。 因此與方法一樣,事件用謂詞命名,謂詞時態用於指示事件引發的時間。
✓ 務必使用謂詞或謂詞短語來命名事件。
示例:Clicked、Painting、DroppedDown 等。
✓ 務必通過使用現在時態和過去時態,讓事件名稱含有時間先後的概念。
例如,窗口關閉之前引發的事件稱為 Closing,窗口關閉之後引發的事件稱為 Closed。
X 請勿使用 “Before” 或 “After” 前綴和後綴來指示事件之前或之後。 應按前述使用現在時態和過去時態。
✓ 請使用 “EventHandler” 後綴來命名事件處理程序(用作事件類型的委托),如以下示例所示:
public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);
✓ 務必在事件處理程序中使用兩個名為 sender 和 e 的參數。
sender 參數表示引發事件的對象。 sender 參數的類型通常是 object,且可能會使用更具體的類型。
✓ 務必使用“EventArgs”後綴來命名事件參數類。
個人建議:對於名稱意義不明的事件可添加Event後綴,盡量少用後綴。
官方參考:https://docs.microsoft.com/zh-cn/dotnet/standard/design-guidelines/names-of-type-members#names-of-events
事件觸發方法的名稱
事件需要有一個事件觸發方法,用於檢測事件是否有綁定的方法,如果有就觸發事件。直接觸發事件在事件沒有綁定方法時會引發空異常。
✓ 務必使用“On+事件名稱”來命名事件觸發方法。
C#命名規范、變量、類Class
C#中的命名規范
1、命名方式
駝峰命名法:變量命名時,首單詞全部小寫,之後單詞首字母大寫。適用於變量的聲明
例如:int imgIndex=0; string txtPersonName="xxx";
帕斯卡命名法:所有單詞的首字母大寫。適用於所有的項目名稱、對象名稱、方法名稱、屬性名稱
例如:Class BigCar,SmallCar;
2、命名規則
《1.》 創建項目在學習過程中可以使用中文,但是在工作中嚴格禁止使用中文、拼音
《2.》 在給項目命名使用帕斯卡命名法(所有的英文單詞首字母大寫)
《3.》 聲明變量等不允許使用特殊符號(除過_)、關鍵字
什麼是變量
變量是指在程序執行時,將一些數據要進行臨時存儲,隨著程序的執行過程隨時隨地需要被使用,這時需要在程序的運行內存中開辟一個空間來臨時存放這些數據,這就是變量的作用
1、如何聲明變量
- [訪問修飾符] 數據類型 變量名稱=初始值;
- 數據類型(值類型和引用類型):規范瞭這個變量空間中允許存放的數據的類型
- 變量名稱:可以理解為變量的指針地址,可以通過變量名稱來尋找變量中所存放的數據
- 初始值:當這個變量被定義時初次所存儲的數據
2、變量的分類
《1.》 全局變量
- 全局變量是指一個變量的聲明地方直接在Class裡面,
- 全局變量聲明周期:從計算機開始創建這個Class對象則全局變量就被創建,到這個Class對象被GC釋放全局變量也被清理
- 變量的作用域:在這個Class內部的任何地方都可以被使用
《2.》局部變量
- 局部變量是指一個變量的聲明地方在類成員中(方法、事件、語法結構中)
- 局部變量的聲明周期:計算機閱讀到變量的聲明代碼則變量被創建,到計算機閱讀超出變量的作用域變量被釋放
- 變量的作用域:在其聲明地所在的大括號內部
- 盡可能減少不必要的全局變量,能用局部變量解決的問題千萬不要使用全局變量,在一個對象中的任意地方都有可能用到這個變量時,才聲明為全局變量
類Class
1、類是什麼
- 類指的是一類對象的統稱,類也是對象,類是對象的抽象化
- 在編程中創建對象,寫出的代碼叫類
2、類如何識別
- 關鍵字顏色是淡綠色
- 要麼就觀察其類型是Class
3、類如何使用
- 大多數類在使用時,需要先對其進行實例化創建一個新的成員對象,這個對象就具有這個類的所有功能
- 實例化的最終結果是產生一個這個類型的新對象成員
總結
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- 詳解C#如何實現讀寫ini文件
- 淺析.net core 拋異常對性能影響
- 正確使用dotnet-*工具的方法
- 關於C#10 新特性 Lambda 優化
- 在.Net Framework應用中請求HTTP2站點的問題解析