網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
C# 代碼大小寫規(guī)范
C# 一般采用帕斯卡命名和駝峰命名,.NET類庫(kù)就是使用這種命名方法, 可見是微軟推薦的
-
PasalCasing
:標(biāo)識(shí)符的第一個(gè)單詞的字母大寫; -
camelCasing
:標(biāo)識(shí)符的第一個(gè)單詞的字母小寫。
下表描述了不同類型標(biāo)識(shí)符的大小寫規(guī)則
標(biāo)識(shí)符 |
大小寫 |
示例 |
命名空間 |
Pascal |
namespace Com.Techstar.ProductionCenter |
類型 |
Pascal |
public class DevsList |
接口 |
Pascal |
public interface ITableModel |
方法 |
Pascal |
public void UpdateData() |
屬性 |
Pascal |
Public int Length{…} |
事件 |
Pascal |
public event EventHandler Changed; |
私有字段 |
Camel |
private string fieldName; |
非私有字段 |
Pascal |
public string FieldName; |
枚舉值 |
Pascal |
FileMode{Append} |
參數(shù) |
Camel |
public void UpdateData(string fieldName) |
局部變量 |
Camel |
string fieldName; |
這三個(gè)標(biāo)紅的是采用駝峰(Camel)命名法
其余的是帕斯卡(pascal)命名法
具體應(yīng)用的一般良好習(xí)慣 | |||
1、 |
成員變量前加前綴 _, 這個(gè)也是微軟的常用做法 |
||
2、 |
接口的名稱加前綴I |
||
3、 |
自定義的屬性以Attribute結(jié)尾,如: public class AuthorAttribute :Attribute { } |
||
4、 |
自定義的異常以Exception結(jié)尾,如: public class AppException: Exception {} |
||
5、 |
方法的命名。一般將其命名為動(dòng)賓短語(yǔ),如: ShowDialog() CreateFile() |
||
6、 |
代碼的縮進(jìn)。要用Tab,而不要用space. |
||
7、 |
局部變量的名稱要有意義。不要用x,y,z等等(除用于For循環(huán)變量中可使用i,j,k,l,m,n)。 |
||
8、 |
所有的成員變量聲明在類的頂端,用一個(gè)換行把它和方法分開。 |
||
9、 |
用有意義的名字命名namespace,如:產(chǎn)品名、公司名。 |
||
10、 |
生成和構(gòu)建一個(gè)長(zhǎng)的字符串時(shí),一定要使用StringBuilder,而不用string。 |
||
11、 |
始終使用”{ }”包含if下的語(yǔ)句,即使只有一條語(yǔ)句。 |
||
12、 |
把相似的內(nèi)容放在一起,比如數(shù)據(jù)成員、屬性、方法、事件等,并適當(dāng)?shù)氖褂?region…#endregion |
C#中的大小寫約定
許多命名約定都與標(biāo)識(shí)符的大小寫有關(guān)。值得注意的是,公共語(yǔ)言運(yùn)行庫(kù) (CLR) 支持區(qū)分大小寫和不區(qū)分大小寫的語(yǔ)言。本主題中描述的大小寫約定可幫助開發(fā)人員理解和使用庫(kù)。
大小寫樣式
下列術(shù)語(yǔ)描述了標(biāo)識(shí)符的不同大小寫形式。
Pascal 大小寫
將標(biāo)識(shí)符的首字母和后面連接的每個(gè)單詞的首字母都大寫??梢詫?duì)三字符或更多字符的標(biāo)識(shí)符使用 Pascal 大小寫。
例如: BackColor
大小寫混合
標(biāo)識(shí)符的首字母小寫,而每個(gè)后面連接的單詞的首字母都大寫。
例如: backColor
大寫
標(biāo)識(shí)符中的所有字母都大寫。
例如: IO
標(biāo)識(shí)符的大小寫規(guī)則
如果標(biāo)識(shí)符由多個(gè)單詞組成,請(qǐng)不要在各單詞之間使用分隔符,如下劃線(“_”)或連字符(“-”)等。而應(yīng)使用大小寫來(lái)指示每個(gè)單詞的開頭。
下列準(zhǔn)則是用于標(biāo)識(shí)符的通用規(guī)則。
對(duì)于由多個(gè)單詞組成的所有公共成員、類型及命名空間名稱,要使用 Pascal 大小寫。
注意,這條規(guī)則不適用于實(shí)例字段。由于成員設(shè)計(jì)準(zhǔn)則中詳細(xì)說明的原因,不應(yīng)使用公共實(shí)例字段。
對(duì)參數(shù)名稱使用大小寫混合。
下表匯總了標(biāo)識(shí)符的大小寫規(guī)則,并提供了不同類型標(biāo)識(shí)符的示例。
標(biāo)識(shí)符 |
大小寫方式 |
示例 |
---|---|---|
類 |
Pascal |
AppDomain |
枚舉類型 |
Pascal |
ErrorLevel |
枚舉值 |
Pascal |
FatalError |
事件 |
Pascal |
ValueChanged |
異常類 |
Pascal |
WebException |
只讀的靜態(tài)字段 |
Pascal |
RedValue |
接口 |
Pascal |
IDisposable |
方法 |
Pascal |
ToString |
命名空間 |
Pascal |
System.Drawing |
參數(shù) |
Camel |
typeName |
屬性 |
Pascal |
BackColor |
首字母縮寫的大小寫規(guī)則
首字母縮寫詞是由術(shù)語(yǔ)或短語(yǔ)中各單詞的首字母構(gòu)成的單詞。例如,HTML 是 Hypertext Markup Language 的首字母縮寫。只有在公眾廣為認(rèn)知和理解的情況下,才應(yīng)在標(biāo)識(shí)符中使用首字母縮寫詞。首字母縮寫詞不同于縮寫詞,因?yàn)榭s寫詞是一個(gè)單詞的縮寫。例如,ID 是 identifier 的縮寫。通常情況下,庫(kù)名不應(yīng)使用縮寫詞。
可在標(biāo)識(shí)符中使用的兩個(gè)縮寫詞是 ID 和 OK。在采用 Pascal 大小寫格式的標(biāo)識(shí)符中,這兩個(gè)縮寫詞的大小寫形式應(yīng)分別為 Id 和 Ok。如果在采用大小寫混合格式的標(biāo)識(shí)符中將這兩個(gè)縮寫詞用作首個(gè)單詞,則它們的大小寫形式應(yīng)分別為 id 和 ok。
首字母縮寫詞的大小寫取決于首字母縮寫詞的長(zhǎng)度。所有首字母縮寫詞應(yīng)至少包含兩個(gè)字符。為了便于這些準(zhǔn)則的實(shí)施,如果某一首字母縮寫詞恰好包含兩個(gè)字符,則將其視為短型首字母縮寫詞。包含三個(gè)或三個(gè)以上字符的首字母縮寫詞為長(zhǎng)型首字母縮寫詞。 下列準(zhǔn)則為短型和長(zhǎng)型首字母縮寫詞指定了正確的大小寫規(guī)則。標(biāo)識(shí)符大小寫規(guī)則優(yōu)先于首字母縮寫詞大小寫規(guī)則。
兩字符首字母縮寫詞的兩個(gè)字符都要大寫,但當(dāng)首字母縮寫詞作為大小寫混合格式的標(biāo)識(shí)符的首個(gè)單詞時(shí)例外。
例如,名為 DBRate 的屬性是一個(gè)采用 Pascal 大小寫格式的標(biāo)識(shí)符,它使用短型首字母縮寫詞 (DB) 作為首個(gè)單詞。又如,名為 ioChannel 的參數(shù)是一個(gè)采用大小寫混合格式的標(biāo)識(shí)符,它使用短型首字母縮寫詞 (IO) 作為首個(gè)單詞。
包含三個(gè)或三個(gè)以上字符的首字母縮寫詞只有第一個(gè)字符大寫,但當(dāng)首字母縮寫詞作為大小寫混合格式的標(biāo)識(shí)符的首個(gè)單詞時(shí)例外。
例如,名為 XmlWriter 的類是一個(gè)采用 Pascal 大小寫格式的標(biāo)識(shí)符,它使用長(zhǎng)型首字母縮寫詞作為首個(gè)單詞。又如,名為 htmlReader 的參數(shù)是一個(gè)采用大小寫混合格式的標(biāo)識(shí)符,它使用長(zhǎng)型首字母縮寫詞作為首個(gè)單詞。
如果任何首字母縮寫詞位于采用大小寫混合格式的標(biāo)識(shí)符開頭,則無(wú)論該首字母縮寫詞的長(zhǎng)度如何,都不大寫其中的任何字符。
例如,名為 xmlStream 的參數(shù)是一個(gè)采用大小寫混合格式的標(biāo)識(shí)符,它使用長(zhǎng)型首字母縮寫詞 (xml) 作為首個(gè)單詞。又如,名為 dbServerName 的參數(shù)是一個(gè)采用大小寫混合格式的標(biāo)識(shí)符,它使用短型首字母縮寫詞 (db) 作為首個(gè)單詞。
復(fù)合詞和常用術(shù)語(yǔ)的大小寫規(guī)則
不要將所謂的緊湊格式復(fù)合詞中的每個(gè)單詞都大寫。這種復(fù)合詞是指寫作一個(gè)單詞的復(fù)合詞,如“endpoint”。
例如,hashtable 是一個(gè)緊湊格式的復(fù)合詞,應(yīng)將其視為一個(gè)單詞并相應(yīng)地確定大小寫。如果采用 Pascal 大小寫格式,則該復(fù)合詞為 Hashtable;如果采用大小寫混合格式,則該復(fù)合詞為 hashtable。若要確定某個(gè)單詞是否是緊湊格式的復(fù)合詞,請(qǐng)查閱最新的詞典。
下表列出了不是緊湊格式復(fù)合詞的一些常用術(shù)語(yǔ)。術(shù)語(yǔ)先以 Pascal 大小寫格式顯示,后面的括號(hào)中的是其大小寫混合格式。
BitFlag (bitFlag)
FileName (fileName)
LogOff (logOff)
LogOn (logOn)
SignIn (signIn)
SignOut (signOut)
UserName (userName)
WhiteSpace (whiteSpace)
區(qū)分大小寫
大小寫準(zhǔn)則只是為了使標(biāo)識(shí)符更易于閱讀和辨認(rèn)。不能將大小寫規(guī)則用作避免庫(kù)元素之間的命名沖突的手段。 不要假定所有編程語(yǔ)言都區(qū)分大小寫。事實(shí)并非如此。不能僅憑大小寫區(qū)分名稱。
原文鏈接:https://blog.csdn.net/wcc27857285/article/details/108215549
相關(guān)推薦
- 2022-05-12 van-checkbox 全選,解決單個(gè)點(diǎn)擊后會(huì)取消全部的問題
- 2023-03-28 react-redux的connect示例詳解_React
- 2022-04-22 qiankun框架下使用el-select或者分頁(yè)報(bào)錯(cuò)Failed to execute ‘getC
- 2022-07-17 一起詳細(xì)聊聊C#中的Visitor模式_C#教程
- 2022-06-12 C語(yǔ)言詳解數(shù)據(jù)結(jié)構(gòu)與算法中枚舉和模擬及排序_C 語(yǔ)言
- 2023-07-31 TypeError:cannot read property ‘getAttribute‘ of
- 2022-12-12 C語(yǔ)言入門之查找子串問題_C 語(yǔ)言
- 2022-07-22 HttpClient如何自定義重試方法
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支