C# 命名规范

开头

bool类型的变量

Is或者Has开头

常用缩写

三个字母以下的全大写,超过的首字母大写,三个字母的都行(WPF Wpf


变量命名规范

camelCase: 私有字段,局部变量,入参

  • _camelCase: 使用依赖注入时更为推荐
    一看到 _ 就知道是私有字段

  • s_ camelCasem_ camelCase: 一般不使用
    s开头staticm开头membert开头temp

  • @bool@object: 使用关键字作为名称
    C#的特殊用法,可以把关键字,类名作为名称

PascalCase: 命名空间、类名,方法名

  • IPascalCase:接口名
  • TPascalCase:泛型类型名
  • PascalCaseAttribute: 特性
  • PascalCaseProperty:依赖属性

snake_ casekebab_case: 不使用


一般方法

名称遵守PascalCase命名规范

  • 无论是否为公共方法,均首字母大写
  • 选择合适的动词(或动词+名词)
  • 非公共方法可为名称添加InternalImplimplementation)等字眼

例外情况:

  • 局部方法
  • 用于注册事件的方法(Window_ Loaded)

异步方法

异步方法

异步方法以Async结尾

  • 和同名的同步方法进行区分
  • 便于快速判断调用的方法是否需要等待

例外情况

  • 人尽皆知的方法(Task. DelayTask.WhenAll)
  • 控制器(Controller) 中的方法

合理选择单词

选择最合适且被广泛接受的单词描述某个意思

  • Order应该用于排序(orderby), 而不是用于命令
  • Apply用于表达“应用”, 而不是“申请”
  • Command常用于名词而非动词

避免使用过于宽泛或与标准库重名的词汇

  • CoreMainActionMath

布尔类型的成员一般以ls、Has、 Can开头

  • IsValidlsActiveHasErrorsCanExecute
  • IfSuccessChecklfEmpty 错误的例子

使用偏正式的单词,而不是口语化的单词

  • Visibility vs. SeenSelectionOption vs. Choose vs.前面的好

语法与时态

一般使用第三人称单数(可以考虑使用复数形式)

  • EqualslsEqualAreEqualDependsOn

尽量不要使用单复数不符合常见形式的(可适当违背词汇或语法)

  • PersonsPersonList vs. People
  • InfosDatasData 的单数是Datum

考虑时态习惯

  • OnPropertyChangedClosing & Closed

更多… …

名称写清晰且完整(例外情形需遵守普遍习惯)

  • CancellationTokenSourceOperationCanceledException
  • IsCompletedSuccessfully
  • SendCaches vs. SendAllCachedUserData

扩展方法尽量简洁且清晰

  • this byte[]: BytesTolnt vs. Tolnt32

符合经典命名习惯

  • TryGetValueTryParseThrowlfNullTryXxxxout的参数,用于在成功后把巴拉巴拉直接赋值给传入的变量)
  • Color vs. ColourBehavior vs. Behaviour (符合习惯的,项目的,英式或美式)

杜绝C/C++、MATLAB、 JAVA等命名习惯

  • itoanum2strget_value

学习与提高

  • 多查词典
  • 多看多学别人的代码
  • 在源代码中搜索官方的使用习惯

谷歌的C#

微软C#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值