标准名称: C语言编程规范
标准编号:
版次号:A
受控号:
拟制:窦力争 2008 年 月 日
审核: 2008 年 月 日
批准: 2008 年 月 日
1 概述
为了保证公司在软件开发过程中,全体成员的代码减少隐患,风格一致,便于维护,提高软件产品的质量和保持开发产品的持续性,特制定本编码规范。
暂定本规范适用于 的C编码工作。
2 变量声明
2.1 变量的命名:
可以用多个英文单词拼写而成,每个英文单词的首写字母要大写,命名应当直观且可以拼读,可望文知意;变量的前缀表示该变量的类型。
类型 前缀 类型名称
bool b 布尔型
(unsigned) char (u)ch (无符号)字符型
(unsigned) short (u)sh (无符号)短整型
(unsigned) int (u)i (无符号)整型
(unsigned) long (u)l (无符号)长整型
float f 浮点型
point p 指针
array a 数组
string str 字符串
Member m_ 成员变量
global g_ 全局变量
Static s_ 静态变量
2.2宏定义和常量全用大写的字母,用下划线分割单词。
例如:
const int MAX = 100;
#define MAX_LENGTH 100
2.3静态变量加前缀s_(表示static)。
例如:
void Init(…)
{
static int s_initValue; // 静态变量
…
}
2.4在可能的情况下减少全局变量的使用,全局变量加前缀g_(表示global)。例如:
int g_iManyPeople; // 全局变量
2.5 类型转换:
尽量避免强制类型转换;如果不得不作类型转换,尽量用显式方式。
2.6必须在定义变量的同时初始化该变量
如果变量的引用处和其定义处相隔比较远,变量的初始化很容易被忘记。如果引用了未被初始化的变量,可能会导致程序错误。所以本条可以减少隐患。且曾强其代码可测性。
3 基本语句
3.1不可在for 循环体内修改循环变量,防止for 循环失去控制。(指南)
3.2 不准使用switch 语句。(1058)
3.3不要使用goto语句。(1058)
3.4 不得使用三元操作符(MISRA)
3.5不得残留被注释掉的废代码。