文档介绍:概述
规范制定原则
方便代码的交流和维护。
不影响编码的效率,不与大众习惯冲突。
使代码更美观、阅读更方便。
使代码的逻辑更清晰、更易于理解。
术语定义
Pascal 大小写
将标识符的首字母和后面连接的每个单词的首字母都大写。 可以对三字符或更多字符的标识符使用 Pascal 大小写。例 BackColor
Camel 大小写
标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如 : backColor
代码外观
列宽
代码列宽控制在 110 字符左右,原则上不超过屏宽。
换行
当表达式超出或即将超出规定的列宽,遵循以下规则进行换行:
在逗号,括号后换行。
在操作符前换行。
规则 1 优先于规则 2。
当以上规则会导致代码混乱的时候自己采取更灵活的换行规则。
缩进
缩进应该是每行一个 Tab(4 个空格 ),不要在代码中使用 Tab 字符。
Visual 设置:工具 ->选项 ->文本编辑器 ->C#->制表符 ->插入空格空行
空行是为了将逻辑上相关联的代码分块,以便提高代码的可阅读性。
在以下情况下使用两个空行:
接口和类的定义之间。
枚举和类的定义之间。
类与类的定义之间。
在以下情况下使用一个空行:
方法与方法、属性与属性之间。
方法中变量声明与语句之间。
方法与方法之间。
方法中不同的逻辑块之间。
方法中的返回语句与其他的语句之间。
属性与方法、属性与字段、方法与字段之间。
注释与它注释的语句间不空行,但与其他的语句间空一行。
文件之中不得存在无规则的空行,比如说连续十个空行。空行是为了将逻辑上相关联的代码分块,以便提高代码的可阅读性。
空格
在以下情况中要使用到空格:
关键字和左括符 “(” 应该用空格隔开。如
while (true)
注意在方法名和左括符 “ (” 之间不要使用空格,这样有助于辨认代码中的方法调用与关键字。
多个参数用逗号隔开,每个逗号后都应加一个空格。
除了 . 之外,所有的二元操作符都应用空格与它们的操作数隔开。一元操作符、 ++及--
与操作 数间不需要空格。如
a
+=
c
+
d;
a
=
(a
+
b)
/
(c
*
d);
while
(d++
=
s++)
{
}
n++;
PrintSize(“ size is “
+
size
+ “\n ”);
语句中的表达式之间用空格隔开。如
for (expr1; expr2;
expr3)
花括号 - {}
左花括号 “{” 放于关键字或方法名的下一行并与之对齐。如 if (condition)
{
}
public int Add(int x, int y)
{
}
左花括号 “{” 要与相应的右花括号 “ }”对齐。
通常情况下左花括号 “{”单独成行,不与任何语句并列一行。
if 、while、do 语句后一定要使用 {},即使 {}号中为空或只有一条语句。如 if (somevalue == 1)
{
somevalue = 2;
}
右花括号 “}” 后建议加一个注释以便于方便的找到与之相应的 {。如
while (1)
{
if (valid)
{
} 避免在代码行的末尾添加注释;行尾注释使代码更难阅读。不过在批注变
量声明时,行尾注释是合适的;在这种情况下,将所有行尾注释在公共制表位处对齐。避免杂乱的注释,如一整行星号。而是应该使用空白将注释同代码分开。
在部署发布之前,移除所有临时或无关的注释,以避免在日后的维护工作中产生混乱。
如果需要用注释来解释复杂的代码节,请检查此代码以确定是否应该重写它。尽一切可能不注释难以理解的代码,而应该重写它。尽管一般不应该为了使代码更简单以便于人们使用而牺牲性能,但必须保持性能和可维护性之间的平衡。
在编写注释时使用完整的句子。注释应该阐明代码,而不应该增加多义性。
在编写代码时就注释,因为以后很可能没有时间这样做。另外,如果有机会复查已编写的代码,在今天看来很明显的东西六周以后或许就不明显了。
避免多余的或不