读华为C语言编程规范(标识符、变量)

来源:互联网 发布:学软件开发怎么样 编辑:程序博客网 时间:2024/05/22 05:10

标识符:

命名规则:unix like风格,单词小写,用‘_’分割,text_mutex;windows风格,大小写混用,单词连一起,每个单词首字母大写。

原则:

1、命名清晰、明了、使用完整单词或大家基本理解的缩写,避免产生误解;

2、除常见通用缩写外,不使用单词缩写,不使用汉语拼音;

规则:

1、产品/项目内应保持统一的命名风格;

2、用正确的反义词组命名具有互斥意义的变量或相反动作的函数等;

3、避免名字中出现数字编号,除非逻辑上确实需要编号;

4、标识符前不应添加模块、项目、产品、部门的名称作为前缀;

5、平台/驱动等适配代码的标识符风格保持和平台.驱动一致;

6、重构/修改部分代码时,应保持和原有代码的命名风格一致;

7、文件命名统一采用小写字符;

8、全局变量前加“g_”前缀;静态变量前“S_”前缀;

9、禁止使用单字节命名变量;

10、不建议使用匈牙利命名法;

11、使用名词或形容词+名词方式命名变量;

12、函数命名应以函数需要执行的动作命名,一般采用动词或者动词+名词的结构;

13、函数指针除了前缀,其它按照函数命名规则命名;

14、对于数值或者字符串等常量定义,建议采用全大写字母,单词之间增加"_"下划线,#define PI_ROUND 3.14

15、除了头文件或者编译开关等特殊标识定义,宏定义不能使用下划线'_'开头和结尾;

变量

原则:

1、一个变量只有一个功能,不能把一个变量用作多种用途;

2、结构功能单一,不要设计面面俱到的数据结构。相关的一组信息才是构成一个结构体的基础,结构的定义可以明确的描述一个对象,而不是一组相关性不强的数据的集合;

3、不用或者少用全局变量;

规则:

1、防止局部变量和全局变量同名;

2、通讯过程中少用的结构,必须注意字节序;跨平台交互,数据成员发送前,都必须进行主机序到网络序的转换,接收时,也必须进行网络序到主机序的转换;

3、严禁使用未经初始化的变量作为右值;

建议:

1、构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数之访问的全局变量,防止多个不同模块或函数都可以修改、创建同一个全局变量的现象;

2、使用面向接口编程思想,通过API访问数据;如果本模块的数据需要对外部模块开放,应提供接口函数来设置、获取,同时注意全局数据的访问互斥;

3、在首次使用前初始化变量,初始化的地方离使用的地方越近越好;

4、明确全局变量的初始化顺序,避免跨模块的初始化依赖;

5、尽量减少没有必要的数据类型转换,默认或是强制的。





0 0
原创粉丝点击