软件编码和命名规范.doc
文本预览下载声明
XXXXXX项目
编码和命名规范
项目号 版本号 作成者 确认者 承认者 制定日
变更记录
版本 发布日 担当者 内容
目录
变更记录 2
目录 3
1.概述 5
1.1.目的 5
1.2.构成 5
2.详述 6
2.1.版权声明 6
2.2.文件结构 7
2.2.1.头文件结构 7
2.2.2. 定义文件的结构 7
3.命名规则 9
3.1 共性规则 9
3.2 标准字典 11
4. 注释 13
5. 程序版式 15
5.1?缩进 15
5.2?空行 15
5.3?代码行 15
5.4?对齐 16
5.5?修饰符的位置 18
6. 语法规范 19
6.1?运算符的优先级 19
6.2?switch?语句 19
6.3?函数参数 19
6.4?goto语句 20
7. 关于可自动添加注释的宏 21
7.1?概述 21
7.2?功能 21
7.2.1. XXXX_InsertFileHeader 21
7.2.2 XXXX_InsertFuncNote 21
7.2.3 XXXX_CreateFuncNote 22
7.2.4 XXXX_DeleteNote 22
7.2.5 XXXX_ModifyNote 22
7.2.6 XXXX_Note 23
7.3?配置 23
1.概述
1.1.目的
在XXXX项目架构设计开始之时,有必要建立起适合本项目的编码规范以及命名规约,为顺利开展软件架构设计及随后的各阶段设计工作提供必要的基准和规范。
本编码规范是在《XX软件课编码规范》的基础上,根据本案的特点进行必要的补充和修正而制定完成的。此编码规范是以C语言作为开发语言的前提下编写的,在项目的整个生命周期中,以此作为开发工作开展的基准。
1.2.构成
XXXX项目编码规范主要由以下几个部分构成:
(1)版权声明。
(2)文件结构。
(3)命名规则。
(4)程序版式。
(5)语法规范。
(6)自动注释添加。
2.详述
2.1.版权声明
版权声明位于头文件和定义文件的开头(参见示例1-1),主要内容有:
(1)版权信息
(2)文件名称,摘要
(3)日期,作者和修改内容
示例2-1 版权声明
【规则2-1-1】修改内容要注明修改原因,比如Bug修正、式样变更和增加新功能等。
2.2.文件结构
2.2.1.头文件结构
头文件由四部分内容组成:
(1)头文件开始处的版权声明(参见示例2-1)。
(2)预处理块。
(3)宏定义。
(4)函数和结构体的声明。
假设头文件名称为Head.h,头文件的结构参见示例2-2。
【规则2-2-1】为了防止头文件被重复引用,应当用预编译伪指令ifndef/define/endif结构产生预处理块。假设头文件名称为Head.h,Head.h变为HEAD_H在头文件中的预编译伪指令中使用,参见示例2-1。
【规则2-2-2】用#include filename.h 格式来引用标准库的头文件。
【规则2-2-3】用#include “filename.h” 格式来引用非标准库的头文件。
示例2-2 头文件的结构
2.2.2. 定义文件的结构
定义文件有四部分内容:
(1)定义文件开头处的版权声明(参见示例2-1)。
(2)对头文件的引用。
(3)宏定义、函数的引用声明及变量定义。
(4)程序的实现体。
定义文件的结构参见示例2-3。
示例2-3 定义文件的结构
3.命名规则
3.1 共性规则
命名的两个基本原则:
(1)含义清晰,不易混淆。
(2)不和其它模块、系统API的命名相冲突。
【规则3-1-1】标识符应当直观且可以拼读,可望文知意。标识符应采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文单词不应太复杂,用词应当准确。
【规则3-1-2】标识符的长度应当符合“min-length max-information”原则。
例如:变量名MaxVal就比MaxValueUntilOverflow,简洁易懂。
【规则3-1-3】程序中不要出现仅靠大小写区分的相似的标识符。
例如:
int x, X; /* 变量x 与X 容易混淆*/
void foo(int x); /*函数foo 与FOO 容易混淆*/
void FOO(float x);
【规则3-1-4】程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域不同,而不会发生语法错误,但会使人误解。
【规则3-1-5】变量命名,变量的名字应当使用“名词”或者“形容词+名词”。每个单词的首字母大写。要加上前缀或后缀作为类型或属性的标识。
对于无符号变量要加上u和位数。例如:UINT16 u16MaxVal;
显示全部