没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
C 语言程序开发规范
封页 1
目 录
版本: 1 封页 2
1.引言
目的
使用本规范是为了支持下述软件品质:
无错误、有失效保障、可靠
一个软件产品,如果严格符合它的规范就是正确的,如果在异常环境下仍然能够工作就是
健壮的()。无错误、有失效保障、可靠就是指一个软件产品既正确又健壮。
可维护
一个软件产品,如果它可以随着规范的改变而方便地进行修正就是可扩展的;如果一个熟
悉该软件规程的新程序员能够轻松地理解它的实现就是可读的;如果能够整个或部分地被
一个新的应用所重用就是可重用的。可维护就是指一个软件产品可扩展、可读并且可重用。
可移植
一个软件产品,如果可以方便地转移到一个不同的硬件或软件环境中应用,那么它是可移
植的。
可配置
一个软件产品,如果能够轻松地选择源代码的正确版本和其它联编一个软件产品所需的部
件,那么它是可配置的。
可验证
一个软件产品,如果能够在验证阶段轻松地准备测试数据和检测故障的程序,那么它就是
可验证的。
易调试
一个软件产品,如果能够轻松地从故障上溯查找到错误所在,那么它是容易调试的。
一致性
凡所有开发的 软件都必须遵循本文档的要求,第三方软件可以有例外。其中,规则必须
遵守,而建议则希望被遵守,如不能遵守,其原因必须作书面记载。所有对规则或建议的
违背都必须有书面记载。
术语
标识符(identier):指 中的一个变量、常量、函数或类型。在本文档中它与“名称”同
义。
定义(dene):变量或常量的定义是指编译器为其分配的内存。函数的定义是指函数体
的实现(也是为代码分配内存)。
声明(declare):指一些实体对编译器的声明所在的位置,如函数原型、类型(由
定义)、变量和常量。声明不分配内存。
宏(macro):指由 语句定义的代替一个文本串的名字。当该名字在源程序中出
封页 0
现时,预处理器用对应文本串代替它。
固有数据类型(或预定义或基本数据类型):由语言本身定义的数据类型,如 。
用户定义数据类型:编程人员用 、、 或 定义的数据类型。
范围:标识符的范围是指其可见的环境。环境在这里指可以使用该标识符的函数或程序块。
全局:使用范围没有限制。
文件级局部:使用范围局限在一个文件中。
函数级局部:使用范围局限在一个函数中。
1. 文件目录
【建议 】每个模块的代码包括头文件放在以“系统模块”方式命名的目录下。
【建议 】文件的命名使用“系统模块功能的方式命名。
例 : 系 统 模 块 的 语 言 代 码 应 该 为 ! 和
",如
果程序太大仍需分为不同的文件,则按功能区分,比如: #$%&"!。
【规则 】实现同一功能的不同函数应在同一文件内。
【规则 】在每个子目录内要编写 '#(' 文件对文件及子目录的组织结构作细致的
描述。
'#(' 文件模板见附录 "
2. 文件结构
) 程序的头文件以“*为后缀, 程序的定义文件以“为后缀。
+ 版权和版本的声明
版权和版本的声明位于头文件和定义文件的开头(参见示例 ),主要内容有:
()版权信息。
()文件名,作者)修改者,完成日期。
()最终版本号(必须跟最新修改记录的版本号相同),实现目的。
(+)修改记录。
),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
),!!!!-------------- 有限公司 版权所有 !!!!!!!!!!!!!!!!!!!! ,)
),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
),!!!../'0$ $&'1 1'01..
,)
), ,)
),!!!!!!!!!!!!!!!!!!!2*!#!!!!!!!!!!!!!!!!!!!!!!!!!! ,)
版本: 1 第 1 页 共 35 页
),!333333333!%!4!&*52!#65!71!/827!*9!!! ,)
),!!!!!:5*!;<2*!6!!*!*9!2*!!! ,)
),!!!!!:7597!!5!!*!26!!8!!!! ,)
),!!!!!!!*!!*!#&&!95!5!92! ,)
), ,)
),!!!..'# $&'1 1'01..
,)
),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
),!!!程序文件名:==== 或者 ====* ,)
),!!!>59!!:==== 或者 ====* ,)
),!!!作者 : ,)
),!!!*!!!!: !!!! ,)
),!!!日期 :(()##)???? ,)
),!!!#9!!!!!!:(()##)???? ,)
),!!!当前版本 :@ ,)
),!!!A:@!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ,)
),!!!实现目的 : ,)
),!!!!!!: ,)
),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
),!!!修改记录 : ,)
),!!!序号 7!(()##)????7版本,修改者,修改内容最近的修改记录在最上面 ,)
),!!!(!: ,)
),!!!$=,#9,A,*7! ,)
),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
示例 !版权和版本的声明
.5. 头文件的结构
头文件由三部分内容组成:
(1)头文件开头处的版权和版本声明(参见示例 3-1)。
(2)预处理块。
(3)函数和结构声明等。
版本和版权声明
! 文件名 "
! 文件名 "
其它头文件包含声明
常数和类型定义
宏定义
变量定义
函数声明
示例 3-2 头文件结构
【规则 】为了防止头文件被重复引用,应当用 )) 结构产生预处理
版本: 1 第 2 页 共 35 页
剩余39页未读,继续阅读
资源评论
oligaga
- 粉丝: 52
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功