武汉地大坤迪科技有限公司
软件开发代码规范(VC版)
在团队协作开发的情况下, 编程时应该强调的一个重要方面是程序的易读性, 在保证软 件的速度等性能指标能满足用户需求的情况下, 能让其他程序员容易读懂你的程序。 一套鲜 明的编程风格,可以让协作者、后继者和自己一目了然,在很短的时间内看清程序的结构, 理解
设计的思路。 大大的提高代码的可读性、 可重用性、 程序健壮性、 可移植性和可维护性。
制定本编程规范的目的是为了提高软件开发效率及所开发的软件的可维护性, 提高
软件 的质量。本规范基于VC开发语言,由程序风格、命名规则、注释规范、程序健壮性、可移 植性、错误处理以及软件的模块化规范等部分组成。
本规范主要适用于WINDOWS平台相关代码编写, 对于跨操作系统的标准C/C++代码规范, 请参见《软件开发代码规范(C/C++版) 》 。
一、程序风格:
1、严格采用阶梯层次组织
程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。要求 相匹配的大括号在同一列,对继行则要求再缩进4格。例如: void main() { ...... long lI; // 循环变量 long lSum; // 用来记录和 float fAvg; // 用来求平均值 ...... // 对数进行累加。 for( lI=0;lI<10;lI++) { lSum=lSum+lI; ...... } // 求平均值。 fAvg=lSum/10.0; ...... } 2、提示信息字符串的位置 在程序中需要给出的提示字符串, 为了支持多种语言的开发, 除了一些给调试用的临时 信息外,其他所有的提示信息必须定义在资源中,以利于翻译成多种语言,以便多版本共用 一套代码。 3、对变量的定义,尽量位于函数的开始位置,并进行初始化。
武汉地大坤迪科技有限公司
二、命名规则:
1、变量名的命名规则 ①、变量的命名规则要求用“匈牙利法则” ,尽量做到“望文生义” 。 即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免 用中文的拼音,要求单词的第一个字母应大写。即: 变量名 = 变量类型 + 变量的英文意思(或缩写) 对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。 见下表: bool(BOOL) 用b开头 bIsParent byte(BYTE) 用by开头 byFlag short(int) 用n开头 nStepCount long(LONG) 用l开头 lSum char(CHAR) 用c开头 cCount float(FLOAT) 用f开头 fAvg double(DOUBLE) 用d开头 dDeta void(VOID) 用v开头 vVariant unsigned int(WORD) 用w开头 wCount unsigned long(DWORD) 用dw开头 dwBroad HANDLE(HINSTANCE) 用h开头 hHandle DWORD 用dw开头 dwWord LPCSTR(LPCTSTR) 用str开头 strString 用0结尾的字符串 用sz开头 szFileName 对未给出的变量类型要求提出并给出命名建议给代码质量管理组。 ②、指针变量命名的需标清。
对一重指针变量的基本原则为:
p + 变量类型前缀 + 命名
如一个float* 型应该表示为pfStat
对多重指针变量的基本规则为:
二重指针: pp + 变量类型前缀 + 命名
三重指针: ppp + 变量类型前缀 + 命名
......
②、全局变量用g_开头。
如一个全局的长型变量定义为g_lFailCount,即:
变量名 = g_ + 变量类型 + 变量的英文意思(或缩写)
③、静态变量用s_开头。
如一个静态的指针变量定义为s_plPerv_Inst,即:
变量名 = s_ + 变量类型+变量的英文意思(或缩写)
④、成员变量用m_开头。
如一个长型成员变量定义为m_lCount,即:
变量名 = m_ + 变量类型 + 变量的英文意思(或缩写)
武汉地大坤迪科技有限公司
2、函数的命名规范: 函数的命名应该尽量用英文表达出函数完成的功能。 遵循动宾结构的命名法则, 函数名 中动词在前,函数名的长度不得少于6个字母。例如:long GetDeviceCount(……); 3、函数参数规范: 错误!未找到引用源。 、参数的命名参照变量命名规范。 错误!未找到引用源。 、为了提高程序的运行效率