公司正在用的代码设计规范,贡献给大家
目录1. c#编码规范... 3
1.1 命名规范... 3
1.1.1 共性规范... 3
1.1.2 个性规范... 3
1.2 注释规范.... 4
1.3 排版规范.... 6
1.3.1 空行... 6
1.3.2 代码行... 6
1.3.3 代码行内的空格... 7
1.3.4 对齐... 7
1.3.5 长行拆分... 8
1.3.6 缩进... 8
1.4 其他编写规范.... 8
1.4.1 复合表达式... 8
1.4.2 if 语句... 9
1.4.3 循环语句的效率... 9
1.4.4 for 语句的循环控制变量... 10
1.4.5 switch语句... 10
1. c#编码规范
1.1 命名规范定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)
1.1.1 共性规范
Ø 【规则1】程序中不要出现仅靠大小写区分的相似的标识符。未经过说明,所有的名称尽量使用英文单词
例如:
int x, X; // 变量x 与 X 容易混淆
void foo(int x); // 函数foo 与FOO容易混淆
void FOO(float x);
Ø 【规则2】变量的名字应当使用“名词”或者“形容词+名词”。
例如:
float value;
float oldValue;
float newValue;
² 【建议】尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。这是为了防止程序员偷懒,不肯为命名动脑筋而导致产生无意义的名字(因为用数字编号最省事)。
1.1.2 个性规范
Ø 【规则1】类名用大写字母开头的而其他字母都小写的单词组成,其中包含的所有单词都应紧靠在一起。
例如:
class Node; // 类名
class LeafNode; // 类名
Ø 【规则2】函数名用小写字母组成的单词开头,后边跟上大写字母开头而其他字母都小写的单词组成,其中包含的所有单词都应紧靠在一起。
例如:
void getName(); // 函数名
void setValue(int value); // 函数名
Ø 【规则3】变量和参数用小写字母开头的单词和大写字母开头其他字母都小写的单词组合而成。
例如:
bool flag;
int drawMode;
Ø 【规则4】const 静态变量的命名
const 静态变量的名字应该都大写,并且指出完整含义。
private const string PARM_PRODUCT_ID = "@ProductId";
Ø 【规则5】如果不得已需要全局变量,则使全局变量加前缀g_(表示global)。
例如:
int g_howManyPeople; // 全局变量
int g_howMuchMoney; // 全局变量
Ø 【规则3】子模块的命名:以该模块的汉语拼音缩写命名,最长不超过6个字符。
例如:SCGL,SBGL
Ø 【规则4】命名空间命名规则:以模块的汉语拼音缩写命名(首字母大写,如果两个字符的就要都大写。)例如:Sczh.UI.Scgl.Jhbgl。
Ø 【规则5】成员变量的命名规则:首字母下划线其余是小写字母。
例如 private string _name;
Ø 【规则5】成员属性的命名规则:首字母大写其余是小写字母。
1.2 注释规范
定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。
C# 的注释有三种:
// 注释一行
/* ...... */ 注释若干行
除了以上两种之外,还有第三种
/// <summary>
/// 注释
/// </summary>
/// <param name="para">参数说明</param>
【规则1】边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。
Ø 【规则2】注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方。
例如:
String userName = null; //用户名
Ø 【规则3】当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于阅读。
if (…)
{
…
foreach(…)
{
}// foreach结束
…
}// if结束
Ø 【规则4】在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日
期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文
件关系等);主要函数或过程清单及本文件历史修改记录等。
例如:
/**
* 文件名:Test.cs
* 作者:张三
* 生成日期:2006-10-10
* 功能描述:测试
*/
Ø 【规则5】在每个函数或方法的前面要有必要的注释信息,包括:函数或方法名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等
/// <summary>
/// 函数说明
/// </summary>
/// <param name="x">参数x说明</param>
/// <param name="y">参数y说明</param>
/// <param name="z">参数z说明</param>
void Function(float x, float y, float z)
{
…
}
1.3 排版规范
1.3.1 空行
Ø 【规则1】在每个类声明之后、每个函数定义结束之后都要加空行。参见示例(左)
示例:
// 空行
void Function1(…)
{
…
}
// 空行
void Function2(…)
{
…
}
1.3.2 代码行
Ø 【规则1】一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。
Ø 【规则2】if、for、while、do等语句自占一
全部信息http://www.cnxueshu.com/web/temp/20070327082921.htm --------------------编程问答-------------------- 兄弟,有文档吗,能否发给我一份,学习一下
lincnl_zhao@yahoo.com.cn --------------------编程问答-------------------- HTTP 错误 404 - 文件或目录未找到。 --------------------编程问答-------------------- 连不上~
kendo3065@qq.com
感谢 --------------------编程问答-------------------- 最好的代码规范就是遵循和框架库一致的编码风格。
制定这个规范的人最好自己先规范下。 --------------------编程问答-------------------- 这帮人啊,谁把07年的贴子捞出来了????????
补充:.NET技术 , C#