一、注释规范
1、源文件头部的注释规范
//=======================================================//Copyright (C) 2012-2013 XXX研发中心
//文件名:FileName.cs
//作 者:张三
//日 期:2013/01/01
//描 述:介绍本文件所要完成的功能及背景信息等等
//版 本:1.00
//修改历史记录
//版本 修改时间 修改人 修改内容
//1.01 2012/01/02 李四 修改的具体内容1
//1.02 2012/02/01 王五 修改的具体内容2
//=======================================================
2、模块(类)注释规范
///<summary>
///类的功能描述
///</summary>
3、方法注释规范
///<summary>
///说明
///</summary>
///<param name="<参数名称>">参数说明</param>
///<returns>
///对方法返回值的说明,该说明必须明确说明返回值代表的含义
///</returns>
4、代码注释规范
//单选注释
/*多行注释1
多行注释2*/
5、版本封存后的修改一定要保存原有的代码,不能直接删除或修改,并且要在文件头及修改地点记录修改过程。
(1)增加一段代码:
int n=MyFunc();......
//added by 李四 2012/03/07 begin
//版本号:1.01
//增加原因
string str="1111";
str=str+"2222";
......
//added by 李四 2012/03/07 end
(2)修改一段代码:
......
//modified by 李四 2012/03/08 begin
//版本号:1.01
//修改原因
//int sum=a+b+c;//这是原来的代码
int sum=a+b*c;//这是修改后的代码
//modified by 李四 2012/03/08 end
(3)删除一段代码:
//deleted by 王五 2013/08/08 begin
//版本号:1.02
//删除原因
//int sum=a+b+c;
//deleted by 王五 2013/08/08 end
二、命名
Pascal命名:将标识符的首字母和后面连接的每个单词的首字母都大写。例如:BackColor。
Camel命名:标识符的首字母小写,每个后面连接的单词的首字母都大写。例如:backColor。
三、匈牙利命名法
命名的基本原则是:变量名=属性+类型+对象描述
(1)属性部分:
全局变量:g_
常量:c_
类成员变量:m_
静态变量:s_
(2)类型部分:
指针:p
函数:fn
无效:v
句柄:h
长整型:l
布尔型:b
浮点型(有时也指文件):f
双字:dw
字符串:s
短整型:n
双精度浮点:d
计数:通常用cnt
字符:ch
整型:i
字节:by
字:w
实型:r
无符号:u
(3)描述部分:
初始化:Init
临时变量:Tmp
目的对象:Dst
源对象:Src
窗口:Wnd
四、一些好的编码规范
1、为了层次清晰,在闭合的右括号后注释该闭合所对应的起点。
namespace.Langchao.Procument.Web
{
} //namespace.Langchao.Procument.Web
2、在类属性的名称中包含类名是多余的,如:Book.BookTitle应该使用Book.Title。
3、只要合适,在变量名的末尾或开关加计算限定符(Avg、Sum、Min、Max、Index)。
4、在变量名中使用互补对,如:min/max、begin/end、open/close。
5、布尔变量名应该包含Is,意味着Yes/No、True/False值。
6、即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如i或j。可能的情况下,尽量不要使用原义数字或原义字符串,如:For i=1 To 7,应该使用命名常数,如For i=1 To NUM_DAYS_IN_WEEK以便于维护和理解。