- 开头
- `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错误的例子
使用偏正式的单词,而不是口语化的单词
- Visibilityvs.- Seen,- Selection、- Optionvs.- Choosevs.前面的好
语法与时态
一般使用第三人称单数(可以考虑使用复数形式)
 
- Equals、- lsEqual、- AreEqual、- DependsOn
尽量不要使用单复数不符合常见形式的(可适当违背词汇或语法)
 
- Persons、- PersonListvs.- People
- Infos、- Datas(Data 的单数是Datum)
考虑时态习惯
- OnPropertyChanged、- Closing&- Closed
更多… …
名称写清晰且完整(例外情形需遵守普遍习惯)
- CancellationTokenSource、- OperationCanceledException
- IsCompletedSuccessfully
- SendCachesvs.- SendAllCachedUserData
扩展方法尽量简洁且清晰
- this byte[]: BytesTolntvs.Tolnt32
符合经典命名习惯
- TryGetValue、- TryParse、- ThrowlfNull(- TryXxxx带- out的参数,用于在成功后把巴拉巴拉直接赋值给传入的变量)
- Colorvs.- Colour,- Behaviorvs.- Behaviour(符合习惯的,项目的,英式或美式)
杜绝C/C++、MATLAB、 JAVA等命名习惯
- itoa、- num2str、- get_value
学习与提高
- 多查词典
- 多看多学别人的代码
- 在源代码中搜索官方的使用习惯
谷歌的C#
微软C#