常数
要求:
避免程序中间的不加解释的常数,方法:用命名常量来代替它,
在需要时可以使用常数“0”或“1”
采取预防被"0"除的措施
程序中避免了混合类型比较(如浮点型和整型的比较)
命名常量
命名常量很像一个变量,只是一旦你给它赋值之后便不能再改变它的值了
要求:
1,在数据说明中使用命名常量
2,一致地使用命名常量,而不是一会儿使用命名常量,一会儿使用数值
变量
尽可能减小作用域,尽量使变量成为局部或模块的,避免使用全局变量。
应使每一个变量只具有一个功能
保证所有说明的变量,即别说明用不到的变量。
全局变量
使用全局变量有很多不利,但使用全局数据也有理由:
保存全局数值,有时候需要在整个程序中都要用到某些数据
方便常用数据的使用(有时候需要非常频繁地使用某一个变量)
消除“穿梭”数据(即:消除只是为了借用某个子程序达到传输数据而引起的穿梭)
降低全局数据的危险
1,先使所有变量都成为局部的,然后再根据需要把其中某一些改为全局变量。
2,区分全局和模块变量(某些变量只在一组子程序中存取,事实上是模块变量)
3,建立使你一眼即可识别出全局变量的命名约定
4,建立一个清楚标出所有全局变量的注释表
5,用存取子程序来代替全局数据
变量命名
变量命名时,要考虑变量名是否完全而又准确地描述变量所代表的实体。
名字通常是面向问题而不是解决问题的,一个恰当的名字往往说明是“什么”而不是“怎样”
循环变量命名
应尽量避免使用i、j、k来命名。最好给循环控制变量一个富有意义的名字。
状态变量命名:
是程序所处的状态,应该给标志赋值,并且用枚举类型、命名常量或当作命名常量使用的全局变量对其进行测试。
命名约定可以区分局部、模块和全局变量
标识全局变量用g_作为前缀来解决
标识模块变量用m_作为前缀
标识类型定义用_T,如COLOR_T
标识命名常量用_C
标识枚举类型用“_e”或“_E”作为后缀。
标识输入参数用IP作为前缀。