C#代码规范
C#项目代码规范的目的
1.简明、易读、无二义性;
2.不影响编码效率;
3.方便代码的交流与维护。
C#代码规范
1.缩进
用4个空格
原因:在VS2005和其他的一些编辑工具中都可以定义Tab键扩展成为几个空格键。不用 Tab键的理由是Tab键在不同的情况下会显示不同的长度。4个空格的距离从可读性来说正好。
2.括号
在复杂的条件表达式中,用括号清楚地表示逻辑优先级。
3.断行与空白的{ }行
每个“{”和“}”都独占一行
原因:在有多层控制嵌套的时候,容易看清结构和对应关系。
if ( condition ) { DoSomething(); } else { DoSomethingElse(); }
4.分行
不把多行语句放在一行上。
a = 1; b = 2; if (fFoo) Bar();
更严格地说,不要把不同的变量定义在一行上。
5.命名
不使用单个字母的变量,像i、m、n,用index等来替代,用于循环迭代的变量除外。
for (int i = 0; i < count; i++) {}
6.下划线问题
下划线用来分隔变量名字中的作用域标注和变量的语义,如:一个类型的成员变量通常用m_来表示。
7.大小写问题
由多个单词组成的变量名,如果全部都是大写或小写,很不易读,解决方案如下:
所有的类型/类/函数名都用Pascal形式,所有的变量都用Camel形式:即所有单词的第一个字母都大写。
类/类型/变量:名词或组合名词,如Member、ProductInfo等。
函数则用动词或动宾组合词来表示,如get/set; RenderPage()。
8.注释
复杂的注释应该放在函数头,很多函数头的注释都是解释参数的类型等的,如果程序正文已经能够说明参数的类型in/out等,就不要重复!
注释也要随着程序的修改而不断更新,一个误导的(Misleading)注释往往比没有注释更糟糕。
另外,注释(包括所有源代码)应只用ASCII字符,不要用中文或其他特殊字符,它们会极大地影响程序的可移植性。