C++编程规范及要求.doc
《C++编程规范及要求.doc》由会员分享,可在线阅读,更多相关《C++编程规范及要求.doc(51页珍藏版)》请在咨信网上搜索。
1、C+编码规范及规定王卓2023-02-21版本 V1.0 第一次编写有关C、C+的编码风格和程序质量可以参照高质量C/C+编程1概述32字体及颜色33文献结构43.1文献头注释43.2头文献113.3实现文献133.4文献的组织结构144命名规则154.1类/结构164.2函数164.3变量174.4常量184.5枚举、联合、typedef184.6宏、枚举值184.7名空间185代码风格与版式195.1类/结构225.2函数285.3变量、常量375.4枚举、联合、typedef395.5宏405.6名空间405.7异常411 概述高品质、易维护的软件开发离不开清楚严格的编码规范。本文档具体
2、描述C+软件开发过程中的编码规范。本规范也合用于所有在文档中出现的源码。2 字体及颜色强烈推荐采用Visual Assist X作为Visual Studio的辅助工具。在编辑源码时,应当根据编辑器支持的自定义选项最大限度地满足下表定义的高亮规范。类型颜色举例注释 R0;G128;B0(深绿)/ 注释例子关键字 R0;G0;B255(蓝)typedef, int, dynamic_cast class .类、结构、联合、枚举 R0;G0;B255(蓝)class CMyClass, enum ERRTYPE, typedef int CODE .名空间 R0;G0;B255(蓝)namespa
3、ce BaiY数字 R255;G0;B0(红)012 119u 0xff .字符、字符串 R0;G128;B128(深蓝绿)string, c .宏定义、枚举值 R255;G128;B0(橙黄)#define UNICODE, enum RED, GREEN, BLUE ;操作符 R136;G0;B0(棕色) , = + - * / ; ( ) .方法/函数 R136;G0;B0(棕色)MyFunc()变量 R128;G128;B128(中灰色)int nMyVar;背景 R255;G255;B255(白色)其它 R0;G0;B0(黑色)other things(通常是一个错误)Windows
4、平台中,应当优先使用字体:Fixedsys,这也是操作系统UI(所有的菜单、按钮、标题栏、对话框等等)默认使用的字体。该字体的好处很多: 1、兼容性好:所有Windows平台都支持该字体2、显示清楚:该字体为点阵字体,相对于矢量字体来说在显示器中呈现的影像更为清楚。矢量字体虽然可以自由缩放,但这个功能对于纯文本格式的程序源码来说没有任何实际作用。并且当显示字号较小(12pt以下)时,矢量字体尚有一些明显的缺陷:l 文字的边沿会有严重的凹凸感。 l 一些笔画的比例也会失调。 l 启动了柔化字体边沿后,还会使文字显得模糊不清。3、支持多语言:Fixedsys是UNICODE字体,支持世界上几乎所有
5、的文字符号。这对编写中文注释是很方便的。3 文献结构3.1 文献头注释所有C+的源文献均必须包含一个规范的文献头,文献头包含了该文献的名称、功能概述、作者、版权和版本历史信息等内容。标准文献头的格式为:/*! file*模块名 : 文献名 : 相关文献 : 文献实现功能 : 作者 : 版本 : -备注 : -修改记录 : 日 期 版本 修改人 修改内容YYYY/MM/DD X.Y */假如该文献有其它需要说明的地方,还可以专门为此扩展一节:/*! file*模块名 : 文献名 : 相关文献 : 文献实现功能 : 作者 : 版本 : -备注 : -修改记录 : 日 期 版本 修改人 修改内容YY
6、YY/MM/DD X.Y * 项目1 - 项目1.1 - 项目1.2=* 项目2 - 项目2.1 - 项目2.2.*/每行注释的长度都不应当超过80个半角字符。还要注意缩进和对其,以利阅读。关于文献头的完整例子,如下:/*! file*模块名 : 白杨string扩展库文献名 : stringEx.h相关文献 : stringEx.cpp文献实现功能 : C+ string 类功能扩展作者 : 白杨版本 : 1.10-备注 : 在string的基础上构建,未添加任何数据成员-修改记录 : 日 期 版本 修改人 修改内容 2023/08/27 1.0 白杨 创建2023/12/29 1.1 白杨
7、 新增正则表达式、 operator操作符等功能2023/01/28 1.2 白杨 新增部分函数2023/02/02 1.3 白杨 新增部分函数2023/03/11 1.6 白杨 新增部分函数 2023/03/29 1.7 白杨 新增ref(), set_size()等函数2023/06/28 1.8 白杨 移植到namespace BaiY2023/07/15 1.9 白杨 新增换码/还原函数;为所有正则函 数增长perl风格的字符类2023/07/19 1.10 白杨 新增vformat()函数;重写、改善 format()函数*版权所有(c) 2023, 2023, 白杨, 保存所有权利
8、=to_str、from_str、to_wstr、from_wstr等函数只能做标准ASCII字符集的宽/窄字符转换=* format和vformat函数所能解决的最大字符串长度限制为MAX_STRING,如需临时改变,可以使用:format(maxLength, fmt, .)函数和vformat(maxLength, fmt, arglist)函数=* 支持如下ostream风格的流式输入操作,可以方便地用于将个类数据追加到串: operator(char) operator(BYTE) operator(int) operator(unsigned) opeartor(long) ope
9、rator(unsigned long) operator(float) operator(double) operator(const stringEx&) operator(const char*) operator(const BYTE*) operator(wchar_t) operator(wstringEx)=* 支持兼容IEEE 1003.2-1992 (“POSIX.2”)标准,并且可以对的解决包含0值之字符串的正则表达式功能。 同时也支持perl风格的字符类。 为此提供了以下函数: regex_find(); regex_find_replace(); regex_find_
10、replace_all(); regex_comp(); regex_find_with_comp(); regex_free(); - 也可以通过定义宏“#define BaiY_USE_REGEX 0”禁用此功能。 - 为了提高搜索效率,避免大量反复的表达式编译:regex_find()会自动缓存最近一次使 用的正则表达式(缓存的内容可以通过用空表达式调用regex_find()函数释放)。假如需要高效率的交替搜索多个表达式,请使用regex_comp()、regex_find_with_comp()、regex_free()函数。 - 对于wstringEx,还保证可以对的辨认UNICO
11、DE字符类(如空白符,大小写等)。所以在构建一个正则表达式的时候,应当尽量使用如:blank:、:upper:这样的字符类,而不是如A-Z这样的自定义集合。 - 以下是所有POSIX字符类描述,及其相应perl字符类 POSIX 类 perl类 描述 :alnum: 字母和数字 :alpha: a 字母 :lower: l 小写字母 :upper: u 大写字母 :blank: 空白字符(空格和制表符) :space: s 所有空格符(比:blank:包含的范围广) :cntrl: 不可打印的控制字符(退格、删除、警铃.) :digit: d 十进制数字 :xdigit: x 十六进制数字 :
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 编程 规范 要求
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。