C++编程约定.pdf

上传人:asd****56 文档编号:70343980 上传时间:2023-01-19 格式:PDF 页数:7 大小:163.89KB
返回 下载 相关 举报
C++编程约定.pdf_第1页
第1页 / 共7页
C++编程约定.pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《C++编程约定.pdf》由会员分享,可在线阅读,更多相关《C++编程约定.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C+C+编程编程约定约定1.0 版吉隆机电(北京)有限公司 软件开发部2010 年 8 月 31 日一、一、命名约定命名约定编写计算机程序时,需要给程序中的一些“事物”取一个名字,称为命名。这些事物有:计算机程序语言、语言的关键字表示、语言的语法结构、为满足一定要求用计算机语言编写出的代码(组成源代码文件)。这里只对使用 C+计算机程序语言编写程序时,一些事物进行命名约定。C+是一种表达式语言:表达式组成函数。约定包括两部分,命名要遵守的原则,命名使用的方法。命名命名原则原则:命名要能够达到见名知意的意图。看见变量、类型、函数名字,就可以看出该名字的用途。变量名称要能够看出变量的类型和变量的存

2、放位置。变量的位置有:1、局部变量,是在函数代码块里的变量和函数的参数变量。在函数执行,这些变量在栈内存中分配,当函数自行完成后,变量占用的内存自动被系统释放。局部变量又叫自动变量;2、成员变量,是指类和结构里的变量。3、静态变量,4、函数名称(类的函数称为方法)要命名方法命名方法:在类、数据和函数名中加入额外的信息,使得程序代码容易理解。(-)基本数据)基本数据约定:约定:1、类型定义(应用程序编程,数字型不使用无符号数字型,文本使用无符号字符):typedefsigned charINT8;/八比特整数typedefsigned shortINT16;/一十六比特整数typedefsign

3、ed intINT32;/三十二比特整数typedefsigned _int64INT64;/六十四比特整数typedefunsigned charUCHAR;/无符号八比特字符typedefwchar_tUCHAR16;/无符号一十六比特字符typedeffloatFLOAT32;/三十二比特浮点数typedefdoubleFLOAT64;/六十四比特浮点数2、指针类型typedefsigned char*PINT8;/八比特整数typedefsigned short*PINT16;/一十六比特整数typedefsigned int*PINT32;/三十二比特整数typedefsigned

4、_int64*PINT64;/六十四比特整数typedefunsigned char*PUCHAR;/无符号八比特字符typedefwchar_t*PUCHAR16;/无符号一十六比特字符typedeffloat*PFLOAT32;/三十二比特浮点数typedefdouble*PFLOAT64;/六十四比特浮点数3、变量前缀1)数据变量前缀:类型名前缀示例数值型(INT8,INT16,INT32,INT64)nINT32nYear;文本型(UCHAR,UCHAR16)chUCHARchCode;浮点数(FLOAT32,FLOAT64)rFLOAT32 rPrice2)指针变量前缀类型名前缀示例

5、数值型(PINT8,PINT16,PINT32,PINT64)pnPINT32pnYears;文本型(PUCHAR,PUCHAR16)pchPUCHARpchCodes;浮点数(PFLOAT32,PFLOAT64)prPFLOAT32 prPrices4、变量命名:只使用英文单词命名,并且不使用缩写,名字长度在五到四十个字母之间,单词一到三个单词。结构:_+名字前缀+名字,在类成员变量前面加上下划线_。名字前缀使用小写英文字母,名字第一个字母大写其它字符小写。如果有多个单词,单词第一个字母大写第二个字母小写。单词之间用或者不用下划线隔开。吉隆机电(北京)有限公司编程准则软件开发部 李公斌201

6、0 年 8 月 31 日三示例、类型名称值描叙PBYTEpBuffer=_RecvtmpBuffer/收到的数据开始位置PBYTEpBufferEnd=_RecvtmpBuffer+nLength;/收到的数据结束位置5、常数命名:不可永许在运行过称中改变数值的量,用来给数字命名。命名约定与变量相同,只是都使用大写字母。示例类型名称数字描叙constdoublePI=3.415925635/圆周率static constINT32BUFFER_LENGTH=1024;/数据缓冲区的大小(字节)EnumSTEP_GET_FRAME_FLAG=1,/处理开始标志STEP_GET_FRAME_HEA

7、D=2,/处理帧头STEP_GET_FRAME_DATA=3,/处理帧数据内容(二)函数或类成员函数命名(二)函数或类成员函数命名(二)函数或类成员函数命名(二)函数或类成员函数命名约定约定约定约定:只使用英文单词命名,并且不使用缩写,名字长度在五到四十个字母之间,单词一到三个单词。结构:_+名字,在类成员函数前面加上下划线 _。名字第一个字母大写其它字符小写。如果有多个单词,单词第一个字母大写第二个字母小写。单词之间用或者不用下划线隔开。(三)类和结构(三)类和结构约定:约定:1、类用来定义对象和功能服务,结构用来定义数据结构。类所在文件的名称要与类的名称一次,类类型名字前边加上前缀字母“C

8、”:接口类所在文件的名称要与接口类的名称一次,接口类类型名字前边加上前缀字母“I“;2、不使用公共成员变量,只使用私有成员变量。如果有必要公开私有变量,则使用公共方法访问私有变量,这样的成员变量的定义和访问这些变量的方法的距离在一行到五十行距离之间。为一种功能设计的方法,要排列在一起。如果类是一种纯虚类(抽象类),需要在类的名字前面加上大写字母I,表示这样的类用于方法调用接口,并且这样的类不定义成员变量,只定义公共的成员方法。3、类成员顺序安排:3、类变量定义1)实例变量命名:_类名字+用途描叙名,_结构名字+用途描叙名.第一个字母使用小写字母,如果是其它类的成员变量,在前边加下划线 _。2)

9、指针变量命名:_类名字+用途描叙名+Ptr;_结构名字+用途描叙名+Ptr类型变量名描叙IFrameManager*frameManagerPtr;/CSerialWin32serialWin32;/1 1)类定义类定义。Class C 类的名字私有成员变量:私有成员方法:公共成员方法:.接口类定义接口类定义:Class I 类的名字公有成员方法:是有成员方法;吉隆机电(北京)有限公司编程准则软件开发部 李公斌2010 年 8 月 31 日四2 2)消息结构成员顺序安排:消息结构成员顺序安排:消息定义消息定义。struct 消息名字私有成员变量:私有成员方法:公共成员方法:私有成员变量:私有成

10、员方法:公共成员方法:.消息接口定义。structI 消息接口名字公有成员方法:是有成员方法;吉隆机电(北京)有限公司编程准则软件开发部 李公斌2010 年 8 月 31 日五二二二二代码书写约定代码书写约定代码书写约定代码书写约定(一(一)、变量定义和声明约定、变量定义和声明约定不使用全局变量。多个类需要公共访问的变量放在独立的类类里,并使用静态成员变量和静态的成员方法访问。(二(二)、函数原型定义和声明约定:、函数原型定义和声明约定:函数返回值总是使用 布尔型。用来表示函数调用成功还是失败。如果函数需要返回其它类型的值,只用指针型参数返回。参数传递和返回值使用结构成员和方法,这些数据结构称

11、为消息。函数体定义包括以下内容(二)代码块的行数在一行到一百行之间。不要编写大的代码块(三页以上);如果语句块代码行太多,考虑按单一功能分割函数调用。(三)If.Else.语句块的行数在一行到五十行之间。不要编写超过五十行的 if 语句块。并且即使只有一行代码,也要使用大括号。书写格式:(四)如果在条件表达式中包含多个逻辑运算符,则每个逻辑运算符占一行;书写格式:使用这种格式if(条件表达式)语句块中代码if(条件表达式)语句块中代码else语句块中代码不使用这种格式if(条件表达式)语句块中代码if(条件表达式)语句块中代码else语句块中代码组件内部函数体bool 函数名(参数)/使用断言

12、校验参数是否有效;/执行操作;/如果有返回值,设置返回值/返回执行成功或者失败为组件外部提供的函数体bool 函数名(参数)/使用断言校验参数是否有效;/使用系统函数校验参数的是否有效;/执行操作;/如果有返回值,设置返使用这种格式If(比较表达式|比较表达式|比较表达式)语句块中代码不使用这种格式、if(比较表达式|比较表达式|比较表达式)语句块中代码吉隆机电(北京)有限公司编程准则软件开发部 李公斌2010 年 8 月 31 日六(五)if 的嵌套层次在一层到三层之间。不要编写超过三级嵌套 if 语句块。如果执行完 if 语句块,就完成功能要求,则直接返回,不需要 else 语句块,这样可

13、以减少 if 语句的嵌套层次。书写格式:(六)While().语句块的行数在一行到五十行之间。不要编写超过五十行的 if 语句块。并且即使只有一行代码,也要使用大括号。书写格式:(七)在能使用switch 语句的地方,不要使用if 语句.因为switch语句比 if.else if.else if.语句容易理解;对单个变量进行对此比较时,经常会出现这种情况。书写格式:(八)简单的类定义(特别是模板类),成员函数要与类定义放在一个文件中。书写格式:使用这种格式while(条件表达式)语句块中代码不使用这种格式while(条件表达式)语句块中代码使用这种格式bool函数名()if(条件表达式 1)

14、语句块中代码return true;if(条件表达式 2)语句块中代码return true;returntrue;不使用这种格式bool函数名()if(条件表达式 1)语句块中代码 else if(条件表达式 2)语句块中代码returntrue;不使用这种格式bool函数名()if(条件表达式 1)语句块中代码 elseif(条件表达式 2)语句块中代码returntrue;不使用这种格式if(nCode=1)语句块中代码else if(nCode=2)语句块中代码使用这种格式switch(nCode)case 1:语句块中代码;break;case 2:语句块中代码break;defau

15、lt:break;使用这种格式使用这种格式templateclass Examplepublic:Example()Example();或者使用这种格式或者使用这种格式templateclass Examplepublic:Example();Example();templateExample:Example()templateExample:Example()吉隆机电(北京)有限公司编程准则软件开发部 李公斌2010 年 8 月 31 日七(九)消息类成员函数放在类内部,并且放在头文件中。(十)在变量的声明(局部变量和成员变量)后边 写变量的注释。注释只描述变量的用途,不描叙变量的类型和英语

16、单词的中文解释。循环变量就不用描叙了。书写格式:int_comid;/通讯口编号int_OldAddr;/最初该串口连接的测试仪Int_Addr;/目前该串口连接的测试仪(十一)函数的注释写在行数的上边,只需要写函数的功能用途,即函数要完成的功能目标:输入什么数据(消息),经过怎样的处理,输出什么数据。书写格式:/*采样数据查询做一次*对每个测试仪发送一个查询命令,然后等待测试仪返回应答,*如果没有返回应答则继续等待,直到所有数据被返回*/void SampleManager:OnWork_05(Value_datetime timesample)/采样数据查询帧类型代码是x05,参见星型网数

17、据采集通讯协议文档const int FRAME_TYPE=0 x05;/查询所有测试仪器Device_addr_list listSampleAddress;.使用这种格式struct Yearsprivate:INT32 _nYear;public:bool GetYear(INT32*nYear)*nYear=_nYear;return true;不使用这种格式structYearsprivate:INT32 _nYear;public:bool GetYear(INT32*nYear);boolYears:GetYear(INT32*nYear)*nYear=_nYear;return true;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁