文档介绍:编程规范的说明AnIntroductiontoC/C++CodingConventions沈阳航空航天大学军工行业信息与安全应用实验室2013年3月为了提高软件开发质量,降低开发周期,增强代码的可重用性和易读性,使软件便于维护,开发人员间便于交流和协作,特总结出开发规范,以为参考。,有以下几个原因:一个软件的生命周期中,80%的花费在于维护。几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品。为了执行规范,每个软件开发人员必须一致遵守编码规范。每个人!!!、申缩性,并有较强的响音速度。同时开发过程中必须严格按照规范,以便于管理和协同开发。通用性:能适应机构变动。伸缩性:程序模块化,程序模块能进行任何组合。规范性:截面统一,原程序和SQL文件便于他人阅读。《高质量C++/C编程指南》,现整理汇编成为沈阳航空工业学院计算机学院网络信息安全实验室的内部编程规范,也可作为培训教材。 二 命名规范命名应尽量使用匈牙利命名法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p。如果一个变量由ppch开头,则表明它是指向字符指针的指针。变量名或函数名中使用大写字符来区分各个部分,以便于记忆和阅读。如bPatchMinute, DeleteDirInfo()。全局(包括类中的)变量用长名字,局部变量用短名字。匈牙利记法。即:前缀+类型+变量名1)格式:[m_|s_|g_]type[classname|structname]variablename2)解释:·m_:类的成员变量·ms_:类的静态成员变量·s_:静态全局变量·g_:【规则2-1-1】标识符应当直观且可以拼读,可望文知意,不必进行“解码”。标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文单词一般不会太复杂,用词应当准确。例如不要把CurrentValue写成NowValue。【规则2-1-2】标识符的长度应当符合“min-length&&max-information”原则。单字符的名字如i,j,k,m,n,x,y,z等,它们通常可用作函数内的局部变量。局部变量应尽量易懂简洁,使用常见的变量,如Num,nCount,i,j,k,n,len,pos, offset,nReadNum,index,nRet,ret, string,filename临时变量,如ltmp,ftmp,tmpStr,tempStr。【规则2-1-3】命名规则尽量与所采用的操作系统或开发工具的风格保持一致。例如Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。而Unix应用程序的标识符通常采用“小写加下划线”的方式,如add_child。别把这两类风格混在一起用。【规则2-1-4】程序中不要出现仅靠大小写区分的相似的标识符。例如:intx,X; //变量x与X容易混淆voidfoo(intx); //函数foo与FOO容易混淆voidFOO(floatx);【规则2-1-5】程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但会使人误解。【规则2-1-6】如果命名使用缩写,则应该使用《通用缩写表》(见附录)【规则2-1-7】变量的名字应当使用“名词”或者“形容词+名词”或者“名词+动词”。例如:floatvalue;floatoldValue;nodeobjFind;【规则2-1-8】变量和参数用小写字母开头的单词组合而成。例如: BOOLbFlag; intiDrawMode;【规则2-1-9】常量全用大写的字母,用下划线分割单词。例如: constintMAX=100; constintMAX_LENGTH=100;【规则2-1-10】为了防止某一软件库中的一些标识符和其它软件库中的冲突,可以为各种标识符加上能反映软件性质的前缀。例如三维图形标准OpenGL的所有库函数均以gl开头,所有常量(或宏定义)均以GL开头。【建议2-1-1】尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。这是为了防止程序员偷懒,不肯为命名动脑筋而导致产生无意义的名字(因为用数字编号最省事)。、结构体【规则2-2-1】宏命名、枚举名、联合名和typedef定