不允许在普通变量中使用:_ 作为文件名。
1.类: RClassName 以R公司名称首字母开头,
2.函数接口:FunName 首字母大写以区分
3.普通变量:ageValue 首字母小写
4.指针变量:*pStu 以p开头
5.全局变量: g_howManyPeople 以g_开头
6.静态变量:s_init
7.常量代替:c_MAX c_PI c_开头。
8.数据成员:m_width m_height 类的成员以m_开头
9.枚举常量:Enum_Day 以Enum_开头:typedef enum Day{MONDAY,TUESDAY} Enum_Day;
1.结构体:Struct_Point 以Sturct_开头:typedef struct MapPoint{}Struct_Point;
2.联合体:Union_Point 以Union_开头:typedef union MapPoint{}Union_Point;
3.宏定义: #define D_PI 3.14 以D_开头且全部大写。
4.尽量使用反义词组:
add / remove begin / end create / destroy
insert / delete first / last get / release
increment / decrement put / get
add / delete lock / unlock open / close
min / max old / new start / stop
next / previous source / target show / hide
send / receive source / destination
cut / paste up / down
示例:
int minSum;
int maxSum;
int AddUser( BYTE *pUserName );
int DeleteUser( BYTE *pUserName );
5.{要独占一行,即使一条语句,也要写{}; 注意缩进,如同case 如下:
if / for / while
{
case 0:
//
break;
case 1:
//
break;
}
6.2个独立的程序块之间要加上注释:
例如:变量定义区,和条件判断循环处理区 要用空行分开,注释要用空格分开。
7.较长的语句表达式应该折行:每次折行,首字母应该是 符号+ - 这些比较统一。
示例:
permCountMsg.head.len = NO7_TO_STAT_PERM_COUNT_LEN
+ STAT_SIZE_PER_FRAM * sizeof( _UL );
actTaskTable[frameId * STAT_TASK_CHECK_NUMBER + index].occupied
= statPoi[index].occupied;
reportOrNotFlag = ((taskno < MAX_ACT_TASK_NUMBER)
&& (n7statStatItemValid( stat_item ))
&& (actTaskTable[taskno].resultData != 0));
8.一行一条语句。
9.加空格:
1.变量定义在,后面加空格:int a, b, c;
2.双目运算符号左右加空格:a = b + c; a *= 2;
3.单目就不需要了: *p = 'a'; p = &men; i++; a.b a->b;
4.if for while siwtch ((a>=b) && (c>d)) 这个()间有空格最好。
1.头文件的注释是需要的:
规则:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。
示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/*************************************************
Copyright (C), 2002-2003, Kingdom Tech. Co., Ltd.
File name: // 文件名
Author: Version: Date: // 作者、版本及完成日期
Module: //所属哪个模块
Description: // 用于详细说明此程序文件完成的主要功能,与其他模块
// 或函数的接口,输出值、取值范围、含义及参数间的控
// 制、顺序、独立或依赖等关系
Others: // 其它内容的说明
Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明
1. ....
History: // 修改历史记录列表,每条修改记录应包括修改日期、修改
// 者及修改内容简述
1. Date:
Author:
Modification:
2. ...
*************************************************/
2.源文件注释
规则:源文件头部必须进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。
示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/************************************************************
Copyright (C), 2001-2003, Kingdom Tech. Co., Ltd.
FileName: test.cpp
Author: Version : Date:
Module: //所属哪个模块
Description: // 描述
Version: // 版本信息
Function List: // 主要函数及其功能
1. -------
History: // 历史修改记录
<author> <time> <version > <desc>
David 96/10/12 1.0 build this moudle
***********************************************************/
说明:Description一项描述本文件的内容、功能、内部各部分之间的关系及本文件与其它文件关系等。History是修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述。
3.
函数头部必须进行注释
规则:函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用关系(函数、表)等。
示例:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/*************************************************
Function: // 函数名称
Description: // 函数功能、性能等的描述
Algorithm: //算法,主要思路
params:
param1: //参数1的说明
param2: //参数2的说明
...
Return: // 函数返回值的说明
*************************************************/
4.建议,如果缩写的变量、注释都让人产生疑惑,那么就使用全名称。
5.一般性注释应该在:上面,右边;尽量使用:/* */ , 注释统一使用中文。
6.函数模块在200以内,否则跟我再分。
7.函数参数最多不要超过5个。
8.类的定义:public : protected: private:顺序来写。且类成员的初始化尽量都使用初始化列表。
9. 尽量使用有意义的标识代替数字: 0 : ZERO 1: YES
1.关系紧密的代码尽量相邻:例如:
a.m_height = 10;
p = 3;
a.m_widht = 10; ==> 应该把:height , width 靠拢上下。可读性加强罗。
2.不要装逼搞一些难懂的“技巧性很高的”语句,尽量多使用()来加强程序的可读性。
1.类: RClassName 以R公司名称首字母开头,
2.函数接口:FunName 首字母大写以区分
3.普通变量:ageValue 首字母小写
4.指针变量:*pStu 以p开头
5.全局变量: g_howManyPeople 以g_开头
6.静态变量:s_init
7.常量代替:c_MAX c_PI c_开头。
8.数据成员:m_width m_height 类的成员以m_开头
9.枚举常量:Enum_Day 以Enum_开头:typedef enum Day{MONDAY,TUESDAY} Enum_Day;
1.结构体:Struct_Point 以Sturct_开头:typedef struct MapPoint{}Struct_Point;
2.联合体:Union_Point 以Union_开头:typedef union MapPoint{}Union_Point;
3.宏定义: #define D_PI 3.14 以D_开头且全部大写。
4.尽量使用反义词组:
add / remove begin / end create / destroy
insert / delete first / last get / release
increment / decrement put / get
add / delete lock / unlock open / close
min / max old / new start / stop
next / previous source / target show / hide
send / receive source / destination
cut / paste up / down
示例:
int minSum;
int maxSum;
int AddUser( BYTE *pUserName );
int DeleteUser( BYTE *pUserName );
5.{要独占一行,即使一条语句,也要写{}; 注意缩进,如同case 如下:
if / for / while
{
case 0:
//
break;
case 1:
//
break;
}
6.2个独立的程序块之间要加上注释:
例如:变量定义区,和条件判断循环处理区 要用空行分开,注释要用空格分开。
7.较长的语句表达式应该折行:每次折行,首字母应该是 符号+ - 这些比较统一。
示例:
permCountMsg.head.len = NO7_TO_STAT_PERM_COUNT_LEN
+ STAT_SIZE_PER_FRAM * sizeof( _UL );
actTaskTable[frameId * STAT_TASK_CHECK_NUMBER + index].occupied
= statPoi[index].occupied;
reportOrNotFlag = ((taskno < MAX_ACT_TASK_NUMBER)
&& (n7statStatItemValid( stat_item ))
&& (actTaskTable[taskno].resultData != 0));
8.一行一条语句。
9.加空格:
1.变量定义在,后面加空格:int a, b, c;
2.双目运算符号左右加空格:a = b + c; a *= 2;
3.单目就不需要了: *p = 'a'; p = &men; i++; a.b a->b;
4.if for while siwtch ((a>=b) && (c>d)) 这个()间有空格最好。
1.头文件的注释是需要的:
规则:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。
示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/*************************************************
Copyright (C), 2002-2003, Kingdom Tech. Co., Ltd.
File name: // 文件名
Author: Version: Date: // 作者、版本及完成日期
Module: //所属哪个模块
Description: // 用于详细说明此程序文件完成的主要功能,与其他模块
// 或函数的接口,输出值、取值范围、含义及参数间的控
// 制、顺序、独立或依赖等关系
Others: // 其它内容的说明
Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明
1. ....
History: // 修改历史记录列表,每条修改记录应包括修改日期、修改
// 者及修改内容简述
1. Date:
Author:
Modification:
2. ...
*************************************************/
2.源文件注释
规则:源文件头部必须进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。
示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/************************************************************
Copyright (C), 2001-2003, Kingdom Tech. Co., Ltd.
FileName: test.cpp
Author: Version : Date:
Module: //所属哪个模块
Description: // 描述
Version: // 版本信息
Function List: // 主要函数及其功能
1. -------
History: // 历史修改记录
<author> <time> <version > <desc>
David 96/10/12 1.0 build this moudle
***********************************************************/
说明:Description一项描述本文件的内容、功能、内部各部分之间的关系及本文件与其它文件关系等。History是修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述。
3.
函数头部必须进行注释
规则:函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用关系(函数、表)等。
示例:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/*************************************************
Function: // 函数名称
Description: // 函数功能、性能等的描述
Algorithm: //算法,主要思路
params:
param1: //参数1的说明
param2: //参数2的说明
...
Return: // 函数返回值的说明
*************************************************/
4.建议,如果缩写的变量、注释都让人产生疑惑,那么就使用全名称。
5.一般性注释应该在:上面,右边;尽量使用:/* */ , 注释统一使用中文。
6.函数模块在200以内,否则跟我再分。
7.函数参数最多不要超过5个。
8.类的定义:public : protected: private:顺序来写。且类成员的初始化尽量都使用初始化列表。
9. 尽量使用有意义的标识代替数字: 0 : ZERO 1: YES
1.关系紧密的代码尽量相邻:例如:
a.m_height = 10;
p = 3;
a.m_widht = 10; ==> 应该把:height , width 靠拢上下。可读性加强罗。
2.不要装逼搞一些难懂的“技巧性很高的”语句,尽量多使用()来加强程序的可读性。