原则1.一个变量只有一个功能,禁止一个变量用作多种用途
原则2.不用或尽量少用全局变量
原则3.禁止局部变量和全局变量同名
原则4.结构体功能单一,避免设计面面俱到的数据结构
结构体相当于面向对象中的对象,结构体元素描述对象的不同侧面,避免不相关或弱相关的元素放到结构体中。
原则5.双机通信中的数据结构,必现要注意字节序,要约定好大小端
原则6.严禁使用未初始化的变量作为右值
原则7.全局变量通过函数来进行操作,避免直接操作变量;只允许一个函数修改全局变量,其他函数只允许访问
原则8.使用面向接口编程思想,通过API访问数据。本模块的数据对外部模块开放,应提供get、set等设置、获取接口函数,同时注意全局量的互斥访问。
原则9.使用变量前一定要先初始化,初始化的地方离使用的地方越近越好。
使用不经初始化的变量是造成不可预估错误的常见来源,所以在变量使用前一定要先正确的初始化。最好能定义时就进行有意义的初始化。
原则10.明确全局变量的初始化顺序,避免跨模块的初始化依赖
如果全局量的使用和初始化在不同的模块,系统启动时模块有先后顺序,要避免先启动模块使用了未启动模块进行初始化的全局量。
原则11.减少数据类型默认和强制转换