软件编码规范文档摘要.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件编码规范文档摘要

C++设计编码规范 V1.00(试用版) 设备开发部 黄焕斌 目录 重要提示 4 背景 4 1 文件组织规则 4 1.1 命名 4 1.2 目录 4 1.3 预处理 4 1.4 注释 5 2 代码组织规则 6 2.1 空行 6 2.2 换行 6 2.3 空格 6 2.4 对齐 7 2.5 就近原则 7 2.6 精简原则 7 3 命名规则 9 3.1 自注释 9 3.2 变量 9 3.3 函数 9 3.4 类型 10 3.5 宏 10 3.6 常量 10 4 设计规则 11 4.1 识别类和函数 11 4.2 构造函数 11 4.3 封装性 12 4.4 函数参数 12 4.5 函数返回值 13 4.6 契约 13 4.7 规模 14 4.8 名字空间 14 4.9 类型转换 14 4.10 常量 14 4.11 内联 14 4.12 静态变量 14 4.13 编译依赖 15 4.14 可重入 15 5 内存管理规则 16 5.1 模块化 16 5.2 静态分配 16 5.3 new/delete 16 5.4 有效性 16 5.5 正确释放 16 5.6 拷贝 16 6 注释规则 17 6.1 有效性 17 6.2 普通注释 17 6.3 Doxygen注释 17 6.4 定义 17 6.5 申明 18 6.6 模块 18 7 维护规则 19 7.1 消除警告 19 7.2 代码修改 19 7.3 标本兼治 19 参考资料 20 重要提示 本规范中的示例代码都在表格框中显示,绿色的表格框表示正确的示例代码,红色的表格框表示不建议的示例代码。 背景 C++是大华设备软件和平台软件开发的主要软件,在新的软件框架里,两种平台的组件甚至是共用的。统一的代码风格,良好的设计风格,有利于代码的实现和阅读,有利于减少代码错误和提高代码效率,能有效地促进技术的交流和发展。 常见的代码规范都异常冗长,调调框框太多。本规范力求以简明的内容,概括一些重要的规则,将相似的规则进行提炼集中描述,并提供对照的示例代码加深理解。规范的使用者花半个小时左右,就可以熟悉整个规范。 所有大华基于新软件框架的底层组件,业务组件,应用组件都必须遵守此规范。 例外 本规范是强制要求,不过有些情况例外: 与第三方库有关的代码:比如stl,boost,json等等,使用、移植这些库时,相关的代码可以按照这些库的规范。 Windows代码:主要指基于公共软件框架,同时使用了非公共组件框架内的其他API接口的组件,可以继续保留Windows的规范。 文件组织规则 命名 所有的目录和文件名使用大写字母开头的单词组合,目录名单词之间可以用空格分开。 引用文件名时要严格区分大小写。 与操作系统关系密切的工程的命名可以参考操作系统的规则。 Timer.cpp //源文件 Timer.h //头文件 Font.bin //资源文件 Config1 //配置文件 目录 一个大的工程是由多个组件或模块组成的,对于每个组件或模块,其代码应集中管理,并具备完整的设计文档和单元测试代码,用子目录分类存放。 目录或文件 说明 Bin 测试程序目录 Doc 设计文档目录 Include 依赖的组件头文件目录与本组件的外部接口头文件目录,映射到其他地址 Lib 不同平台生成的库和依赖的库文件目录 Makefile.Configs Makefile的不同平台的配置文件目录 Src 源文件,内部头文件 Test 单元测试代码 Makefile allRules.mk Makefile文件,一次性编译Makefile.Configs目录下所有配置对应的库,测试程序 预处理 为了防止头文件被重复引用,使用ifndef/define/endif结构产生预处理块。 预处理宏中的单词应与文件名基本一致。 //文件名为Guard.h #ifndef __GUARD_H__ #define __GUARD_H__ //Guard类的定义... #endif //__GUARD_H__ 注释 源文件和头文件的头部都应进行注释,列出svn文件ID,版权申明,文件描述(说明是什么模块或什么类对应的文件),修改记录(修改时间、svn作者、修改内容),可使用va模板。 对于新加入svn的文件,应该其文件属性的svn属性列表中加入(svn:keywords, Id)属性。 不要和文件中的类或模块的注释混淆。 // // $Id$“ // // Copyright (c)1992-2007, ZheJiang Dahua Technology Stock CO.LTD. // All Rights Reserved. // // Descriptio

文档评论(0)

586334000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档