读华为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、尽量减少没有必要的数据类型转换,默认或是强制的。
- 读华为C语言编程规范(标识符、变量)
- 华为C语言编程规范(4)—标识符命名
- 华为C语言编程规范(4)—标识符命名
- 华为C语言编程规范--变量、结构
- 华为C语言编程规范—标识符命名
- 华为C语言编程规范(6)—变量、结构
- 华为C语言编程规范(6)—变量、结构
- 读华为C语言编程规范(函数、头文件)
- 华为C语言编程规范
- 华为C语言编程规范
- 华为C语言编程规范(3)—注释
- 华为C语言编程规范(2)—排版
- 华为C语言编程规范(5)—可读性
- 华为C语言编程规范(7)—函数、过程
- 华为C语言编程规范(8)—程序效率
- 华为C语言编程规范(9)—质量保证
- 华为C语言编程规范(3)—注释
- 华为C语言编程规范(5)—可读性
- 向上转型
- RGB 矢量空间中处理(彩色边缘检测和区域分割)
- Android驱动开发———两种模型简记
- MySQL笔记 二 数据类型与操作数据表
- onclick事件在移动端的表现异常
- 读华为C语言编程规范(标识符、变量)
- 求职准备411
- linux命令之----export命令用于设置或显示环境变量
- 第61天(就业班) Lucene索引库优化、内置分词器、IK分词器、关键字高亮、单字段和多字段搜索、easyui入门
- 重绘和重拍
- java socket的一个完成实例
- Go编程——变量、函数导出与首字母大写
- 由shp文件生成geojson
- Spark RDD/Core 编程 API入门系列 之rdd案例(map、filter、flatMap、groupByKey、reduceByKey、join、cogroupy等)(四)