C语言编程标准
编码标准
1. 头文件编码标准 3
2. 函数编写标准 3
3. 标识符命名与定义 3
3
变量命名规那么 4
4
宏的命名规那么 4
4 start/stop next/previous
source/target show/hide send/receive
source/destination copy/paste up/down
7. 尽量防止名字中出现数字编号,除非逻辑上确实需要编号。
8. 平台/驱动等适配代码的标识符命名风格保持和平台/驱动一致。
9. 重构/修改局部代码时,应保持和原有代码的命名风格一致。
变量命名规那么
1. 全局变量应增加“g_〞前缀。
2. 静态变量应增加“s_〞前缀。
3. 禁止使用单字节命名变量,但允许定义i、j、k作为局部循环变量。
4. 使用名词或者形容词+名词方式命名变量。
1. 函数命名应以函数要执行的动作命名,一般采用动词或者动词+名词的结构
,其他按照函数的命名规那么命名。
宏的命名规那么
1. 对于数值或者字符串等等常量的定义,建议采用全大写字母,单词之间加下划线‘_’的方式命名〔枚举同样建议使用此方式定义〕。
例如:
#define PI_ROUNDED
2. 除了头文件或编译开关等特殊标识定义,宏定义不能使用下划线‘_’开头和结尾。
变量
1. 一个变量只有一个功能,不能把一个变量用作多种用途。
2. 结构功能单一,不要设计面面俱到的数据结构。
3. 不用或者少用全局变量。
4. 防止局部变量与全局变量同名。
5. 严禁使用未经初始化的变量作为右值。
6. 构造仅有一个模块或函数可以修改、创立,而其余有关模块或函数只访问的全局变量,防止多个不同模块或函数都可以修改、创立同一全局变量的现象。
7. 在首次使用前初始化变量,初始化的地方离使用的地方越近越好。
8. 明确全局变量的初始化顺序,防止跨模块的初始化依赖。
9. 尽量减少没有必要的数据类型默认转换与强制转换。
宏、常量
1. 除非必要,应尽可能使用函数代替宏。
2. 常量建议使用const定义代替宏。
质量保证
1. 代码质量保证优先原那么
〔1〕正确性,指程序要实现设计要求的功能。
〔2〕可靠性,指程序在给定时间间隔和环境条件下,按设计要求成功运行程序的概率。 〔3〕代码可测试性,指软件发现故障并隔离、定位故障的能力,以及在一定的时间和本钱前提下,进行测试设计、测试执行的能力。
〔4〕简洁性,指程序易于理解并且易于实现。
〔5〕可维护性,指程序被修改的能力,包括纠错、改进、新需求或功能规格变化的适应能力。
〔6〕可移植性,指为了在原来设计的特定环境之外运行,对系统进行修改的能力。
〔7〕代码性能高效,指是尽可能少地占用系统资源,包括内存和执行时间。
〔8〕个人表达方式/个人方便性,指个人编程习惯。
2. 要时刻注意易混淆的操作符。
例如
赋值操作符“=〞 逻辑操作符“==〞
关系操作符“<〞 位操作符"<<"
关系操作符“>〞 位操作符“>>〞
逻辑操作符“||〞 位操作符"|"
逻辑操作符“&&〞 位操作符"&"
逻辑操作符"!" 位操作符“~〞
3. 易用错的操作符
〔1〕除操作符"/"
当除操作符“/〞的运算量是整型量时,运算结果也是整型。
〔2〕求余操作符"%"
求余操作符"%"的运算量只能是整型。
〔3〕自加、自减操作符“++〞、“--〞
4. 了解编译系统的内存分配方式,特别是编译系统对不同类型的变量的内存分配规那么。
5. 禁止内存操作越界。
采用以下措施:
〔1〕数组的大小要考虑最大情况,防止数组分配空间不够。
〔3〕使用memcpy/memset时一定要确保长度不要越界。
最新C语言编程规范 来自淘豆网m.daumloan.com转载请标明出处.