C# 常见的命名规范
一、命名规范
使用有意义的英文名称,确保单词拼写正确及语法正确。
缩写时使用常规的缩写,禁止“创造缩写”。
1.1 命名空间/类/结构体/属性/常量/枚举(包括值)/方法(包括事件等)
Pascal(首字母大写)命名方式。
私有字段使用“_”开头。
1.2 字段/参数/变量
Camel(首字母小写)命名方式。
1.3 接口
I开头进行命名。
1.4 抽象类/基类
Base结尾进行命名。
1.5 异常类
Exception结尾。
二、注释规范
类、结构体、属性、字段这些能够使用文档注释的的地方,使用文档注释。
关键逻辑使用单行/多行注释,注释段落单行超过120个字符(包括本行缩进及空格在内,一整行不得超过120字符)使用多行注释。
三、代码规范
3.1 this
this不可省略。
3.2 花括号
左右花括号内容为空则左右花括号在同一行,否则单独一行。不使用忽略的左右花括号。
3.3 三目运算符
if else结构代码主体只有单行代码时,使用三目运算符。
3.4 代码超长
单行代码最长120字符,超长需要换行,换行处相对上一行缩进4个空格,但是不需要多次缩进。
赋值超长时,在“=”处进行换行,“=”不需要跟随换行。
var studentList =
new List<Student>();
链式调用超长时,运算符及方法调用的“.”处进行换行,“.”需要跟随换行,并且后续调用全部换行。
studentList.Where(p => p.No > 100)
.OrderBy(p => p.No)
.Select(p => p.No);
参数声明/传递超长时,参数分隔的“,”处进行换行,“,”不需要跟随换行。
public void Init(int no, string name,
int age, string className)
{
this.No = no;
}
myStudent.Init(
1, "张三",
20, "一班");
选择条件超长时,在“&&”“||”等条件运算符处换行,条件运算符需要跟随换行,同一级条件对齐。
if(myStudent.No == 1
&& myStudent.Age == 30
&& myStudent.ClassName == "一班")){}
三目运算符超长时,在“?”“:”处进行换行,“?”“:”不需要跟随换行。
myStudent.No == 1 ?
myStudent.Age = 30 :
myStudent.ClassName = "一班";

浙公网安备 33010602011771号