CC软件开发规范.pdf

上传人:zh****71 文档编号:126717928 上传时间:2020-03-27 格式:PDF 页数:54 大小:365.47KB
返回 下载 相关 举报
CC软件开发规范.pdf_第1页
第1页 / 共54页
CC软件开发规范.pdf_第2页
第2页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《CC软件开发规范.pdf》由会员分享,可在线阅读,更多相关《CC软件开发规范.pdf(54页珍藏版)》请在金锄头文库上搜索。

1、软件编程规范 1 软件编程规范 目录 软件编程规范 1 目录 1 2开发环境 工具集合 1 3C语言软件编码规范 2 3 1 排版 2 3 2 注释 6 3 3 标识符命名 11 3 4 可读性 12 3 5 变量 结构 13 3 6 函数 过程 14 3 7 可测性 15 3 8 程序效率 17 3 9 质量保证 19 3 10 宏 23 3 11 杂项 24 4C 语言软件编码规范 41 4 1 变量命名规则 41 软件编程规范 2 2软件开发工具集合 开发工具列表 软件名称版本主要功能附属 Microsoft WindowsServer 2008 R2 x64 XP SP3 7 工作平台

2、 Microsoft Visual Studio 2008 9 0 中文版C C 代码查看 编辑和编译 Microsoft SQL Server 2008 中文版 英文版 2005 中文版 英文版 SMS CAS 广告等业务系统的关系数 据库平台 所有新项目统一使用2008 CentOS RHEL 6 0 多语言版嵌入式 Linux 交叉编译开发环境 基于开源软件的系统工作平台 i686 linux chain arm linux chain ppc linux chain UltraEdit 32 WinHEX 10 10 中文版16 进制文件查看编辑 VMware Workstation

3、8 0 英文版多重操作系统工作环境搭建CentOS RHEL 6 0 Windows 2000 Windows XP SP3 x86 Windows 7 x86 x64 Windows Server 2003 x86 x64 Windows Server 2008 x86 x64 Windows Server 2008 R2 x64 Microsoft Office2007 文档编写 EmEditor 10 0 中文版简单文本文件 脚本文件查看 编辑 Makefile shell Beyond Compare3 11 源代码文件比较 SecureCRT5 2串口 Telnet SSH等终端调试

4、 Ethereal10 11 以太网协议捕获分析 Photoshop CS9 中文版简单图片编辑 Adobe Reader9 0 开发文档阅读 注意 嵌入式 C C 语言编辑 编译调试工具统一为VS2008 VA 具体编译调试工具视平台变化 嵌入式 WEB 开发中 HTML JAVASCRIPT 编辑工具统一为VS2008 调试工具为IE8 并注意兼容IE6 和 IE7 以及 Firefox 9 0 嵌入式 CGI 采用 CGIC LIB 库 嵌入式 XML 采用 MXML 库 WindowXML 采用微软XML Lite库 运行嵌入式 Linux Tool Chain环境统一为虚拟机内运行的

5、CentOS RHEL 5 0 软件编程规范 3 上位机 Linux 开发环境统一为物理机内运行的CentOS RHEL 6 0 3软件开发环境规约 3 1 1 工作目录结构的规定 说明 project name 项目名称 bin 执行文件 运行文件目录 log lib src 源程序 dat 数据文件 3 1 2 工程中不起作用的文件或类应删除 工程目录下的非工程文件也应该移走 保持工程的清洁 避免混淆难于管理 3 1 3 在 VC环境下 建议将常用的头文件全部放入stdafx h中 而在每个cpp 开始处嵌入 stdafx h 避免头文件的交叉引用 如果有严重的交叉引用 适当使用类的声明

6、3 1 4 将独立性比较强的模块抽出来 做成LIB DLL 控件或 COM 组件 该模块可单独编写和测试 也增强了其可重用性 3 1 5 一个比较大的工程应留有一定的消息接口或插件接口等 3 1 6 工程的版本控制要严格 版本格式为xx xx 必要时使用Build次数或日期 高版本尽量兼容 低版本的用法 数据或协议 3 1 7 工程的编译宏定义和工程参数设置应正确 每作一个新工程时应检查工程参数是否正确 建议 字节对齐方式为1 字节对齐 4C C 语言软件编码规范 4 1 文件 4 2 排版 4 2 1 程序块要采用缩进风格编写 缩进的空格数为4 个 对于由开发工具自动生成的代码可以有不一致

7、4 2 2 相对独立的程序块之间 变量说明之后必须加空行 示例 如下例子不符合规范 if valid ni ni program code 软件编程规范 4 repssn ind ssn data index repssn index repssn ni ssn data index ni 应如下书写 if valid ni ni program code repssn ind ssn data index repssn index repssn ni ssn data index ni 4 2 3 源程序中关系较为紧密的代码应尽可能相邻 说明 便于程序阅读和查找 示例 以下代码布局不太合理

8、rect length 10 char poi str rect width 5 若按如下形式书写 可能更清晰一些 rect length 10 rect width 5 矩形的长与宽关系较密切 放在一起 char poi str 4 2 4 较长的语句 大于80 个字符 要分成多行书写 尽量不要编写如此长的代码行 长表达式要在低优先级操作符处划分新行 操作符放在新行之首 划分出的新行要进行适当的缩进 使排 版整齐 语句可读 示例 perm count msg head len NO7 TO STAT PERM COUNT LEN STAT SIZE PER FRAM sizeof UL ac

9、t task table frame id STAT TASK CHECK NUMBER index occupied stat poi index occupied act task table taskno duration true or false SYS get sccp statistic state stat item report or not flag taskno MAX ACT TASK NUMBER 4 2 5 循环 判断等语句中若有较长的表达式或语句 则要进行适应的划分 长表达式要在低优先级 操作符处划分新行 操作符放在新行之首 尽量不要编写如此长的代码行 示例 软件

10、编程规范 5 if taskno max act task number i BufferKeyword word index word length i j program code for i 0 j 0 i first word length 2 比较操作符 赋值操作符 算术操作符 逻辑操作符 a 2 a b 2 3 内容操作 与内容之间 flag isEmpty 非操作 与内容之间 p 地址操作 与内容之间 4 前后不加空格 p id pid 指针前后不加空格 5 if for while switch 等与后面的括号间应加空格 使if等关键字更为突出 明显 if a b repssn

11、 ni ssn data index ni 例 2 repssn ind ssn data index repssn index repssn ni ssn data index ni get replicate sub system index and net indicator 应如下书写 get replicate sub system index and net indicator repssn ind ssn data index repssn index repssn ni ssn data index ni 4 3 11 对于所有有物理含义的变量 常量 如果其命名不是充分自注释的

12、 在声明时都必须加以注释 说明其物理含义 变量 常量 宏的注释应放在其上方相邻位置或右方 示例 active statistic task number define MAX ACT TASK NUMBER 1000 define MAX ACT TASK NUMBER 1000 active statistic task number 4 3 12 数据结构声明 包括数组 结构 类 枚举等 如果其命名不是充分自注释的 必须加以注释 对数据结构的注释应放在其上方相邻位置 不可放在下面 对结构中的每个域的注释放在此域的右 方 示例 可按如下形式说明枚举 数据 联合结构 sccp interfac

13、e with sccp user primitive message name enum SCCP USER PRIMITIVE N UNITDATA IND sccp notify sccp user unit data come N NOTICE IND sccp notify user the No 7 network can not transmission this message N UNITDATA REQ sccp user s unit data transmission request 4 3 13 全局变量要有较详细的注释 包括对其功能 取值范围 哪些函数或过程存取它以及

14、存取时注 意事项等的说明 示例 The ErrorCode when SCCP translate Global Title failure as follows 变量作用 含义 0 SUCCESS 1 GT Table error 2 GT error Others no use 变量取值范围 only function SCCPTranslate in 软件编程规范 11 this modual can modify it and other module can visit it through call the function GetGTTransErrorCode 使用方法 BYT

15、E g GTTranErrorCode 4 3 14 注释与所描述内容进行同样的缩排 说明 可使程序排版整齐 并方便注释的阅读与理解 示例 如下例子 排版不整齐 阅读稍感不方便 void example fun void code one comments CodeBlock One code two comments CodeBlock Two 应改为如下布局 void example fun void code one comments CodeBlock One code two comments CodeBlock Two 4 3 15 将注释与其上面的代码用空行隔开 示例 如下例子

16、显得代码过于紧凑 code one comments program code one code two comments program code two 应如下书写 code one comments program code one code two comments program code two 4 3 16 对变量的定义和分支语句 条件分支 循环语句等 必须编写注释 说明 这些语句往往是程序实现某一特定功能的关键 对于维护人员来说 良好的注释帮助更好的理解程 序 有时甚至优于看设计文档 软件编程规范 12 4 3 17 对于 switch语句下的 case 语句 如果因为特殊情况需要处理完一个case 后进入下一个case 处理 必须在该case 语句处理完 下一个case 语句前加上明确的注释 说明 这样比较清楚程序编写者的意图 有效防止无故遗漏break 语句 示例 注意斜体加粗部分 case CMD UP ProcessUp break case CMD DOWN ProcessDown break case CMD FWD ProcessFwd if break

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

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号