- 開頭
- `bool`類型的變量
- 常用縮寫
- 變量命名規范
- `camelCase`: 私有字段,局部變量,入參
- `PascalCase`: 命名空間、類名,方法名
- `snake_ case`、 `kebab_case:` 不使用
- 一般方法
- 名稱遵守`PascalCase`命名規范
- 例外情況:
- 異步方法
- 異步方法
- 例外情況
- 合理選擇單詞
- 選擇最合適且被廣泛接受的單詞描述某個意思
- 避免使用過于寬泛或與標準庫重名的詞匯
- 布爾類型的成員一般以ls、Has、 Can開頭
- 使用偏正式的單詞,而不是口語化的單詞
- 語法與時態
- 一般使用第三人稱單數(可以考慮使用`復數`形式)
- 盡量不要使用單復數不符合常見形式的(可適當`違背`詞匯或語法)
- 考慮時態習慣
- 更多... ...
- 名稱寫清晰且完整(例外情形需遵守普遍習慣)
- 擴展方法盡量簡潔且清晰
- 符合經典命名習慣
- 杜絕C/C++、MATLAB、 JAVA等命名習慣
- 學習與提高
開頭
bool
類型的變量
Is
或者Has
開頭
常用縮寫
三個字母以下的全大寫,超過的首字母大寫,三個字母的都行(WPF
Wpf
)
變量命名規范
camelCase
: 私有字段,局部變量,入參
-
_camelCase
: 使用依賴注入時更為推薦
一看到_
就知道是私有字段 -
s_ camelCase
、m_ camelCase
: 一般不使用
s
開頭static
,m
開頭member
,t
開頭temp
-
@bool
、@object
: 使用關鍵字作為名稱
C#
的特殊用法,可以把關鍵字,類名作為名稱
PascalCase
: 命名空間、類名,方法名
- IPascalCase:接口名
- TPascalCase:泛型類型名
- PascalCaseAttribute: 特性
- PascalCaseProperty:依賴屬性
snake_ case
、 kebab_case:
不使用
一般方法
名稱遵守PascalCase
命名規范
- 無論是否為公共方法,均首字母大寫
- 選擇合適的動詞(或動詞+名詞)
- 非公共方法可為名稱添加
Internal
、Impl
(implementation
)等字眼
例外情況:
- 局部方法
- 用于注冊事件的方法(
Window_ Loaded
)
異步方法
異步方法
異步方法以Async
結尾
- 和同名的同步方法進行區分
- 便于快速判斷調用的方法是否需要等待
例外情況
- 人盡皆知的方法(
Task. Delay
、Task.WhenAll
) - 控制器(
Controller
) 中的方法
合理選擇單詞
選擇最合適且被廣泛接受的單詞描述某個意思
Order
應該用于排序(orderby
), 而不是用于命令Apply
用于表達“應用”, 而不是“申請”Command
常用于名詞而非動詞
避免使用過于寬泛或與標準庫重名的詞匯
Core
、Main
、Action
、Math
布爾類型的成員一般以ls、Has、 Can開頭
IsValid
、lsActive
、HasErrors
、CanExecute
IfSuccess
、ChecklfEmpty
錯誤的例子
使用偏正式的單詞,而不是口語化的單詞
Visibility
vs.Seen
,Selection
、Option
vs.Choose
vs.前面的好
語法與時態
一般使用第三人稱單數(可以考慮使用復數
形式)
Equals
、lsEqual
、AreEqual
、DependsOn
盡量不要使用單復數不符合常見形式的(可適當違背
詞匯或語法)
Persons
、PersonList
vs.People
Infos
、Datas
(Data 的單數是Datum)
考慮時態習慣
OnPropertyChanged
、Closing
&Closed
更多… …
名稱寫清晰且完整(例外情形需遵守普遍習慣)
CancellationTokenSource
、OperationCanceledException
IsCompletedSuccessfully
SendCaches
vs.SendAllCachedUserData
擴展方法盡量簡潔且清晰
- this byte[]:
BytesTolnt
vs.Tolnt32
符合經典命名習慣
TryGetValue
、TryParse
、ThrowlfNull
(TryXxxx
帶out
的參數,用于在成功后把巴拉巴拉直接賦值給傳入的變量)Color
vs.Colour
,Behavior
vs.Behaviour
(符合習慣的,項目的,英式或美式)
杜絕C/C++、MATLAB、 JAVA等命名習慣
itoa
、num2str
、get_value
學習與提高
- 多查詞典
- 多看多學別人的代碼
- 在源代碼中搜索官方的使用習慣
谷歌的C#
微軟C#