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 = "一班";
posted @ 2020-06-30 11:06  codenoting  阅读(942)  评论(0)    收藏  举报