四、变量命名注意事项 1.过程级变量与模块级变量的变量名相同 虽然声明是不会有错,但是在使用时会带来诸多不便。 在代码运行时,涉及到的变量,编译器查找时会从小范围开始,找不到再是大范围。过程,标准模块,其他标准模块,基本上就是按这个顺序来查找的。
我们看看代码: 该模块中声明了一个私有的模块变量i,一个公共的模块变量J。 在test过程中,也有声明两个过程级变量i和j,注意,这里变量名就有模块级的重名了,这是一个很不好的习惯,希望大家避免。Test过程中所访问的I和j是过程级的,如果要在该过程中添加代码访问模块级的i和j,则需要在两个变量名前分别加上模块名并跟上一个.号。虽然有解决方法,但是不建议这种命名混淆的做法,代码可读性差,灵活性不够。
2.不同标准模块的公共的模块级变量名相同 这也是一个不好的习惯。 当代码行比较多时,大量的过程,模块,类模块一起上阵的时候,估计理清头绪都会让你弄得抓破头皮,更不要说调试的时候。 当你需要跨模块访问同名的公共模块级变量时,还是需要加上模块名前缀并跟上一个.号。 虽然这样可以解决问题,但是还不是推荐。
3.如果访问工作表对象,窗体对象的变量 这里说的还是模块级的,过程级是没法访问到的。 Private声明的私有变量,跨模块是不能访问到的,只有用Public声明后,通过加上工作表对象的名字并附上.,这样才能访问到,例如sheet1.strMsg这种形式。 同理,窗体中的也是如此。 注意,当窗体关闭后(除非调用hide方法隐藏),窗体对象中的公共变量的值也就不复存在了。
|