多入口的全局变量
来源:互联网 发布:ubuntu备份文件 编辑:程序博客网 时间:2024/05/06 20:27
全局变量在很多时候,会给我们带来便利。可用的不好,就是bug之源。
尤其是多入口的全局变量,简直就是炸弹。
这里说的多入口的全局变量,是指java类中的成员变量。“多入口”是指,这个变量会在诸多地方被赋值,被调用。
我的bug场景如图:
在电路标签打印的类里,有一个private CircuitLabelBean circuitLabelBean。CircuitLabelBean封装电路编号,端口号,业务代号,报障电话的属性。
点击上图中的查询,会根据业务代号查询电路标签信息,circuitLabelBean会被赋值,然后填充到页面上。点击打印后,会根据给定的接口,打印到连接的蓝牙打印机上。
我在打印之前,会给circuitLabelBean重新赋值,因为要加上“业务代号:”,“保障电话:”之类信息。其中有个例外,页面显示“电路编码:...",可打印出来的效果是“编码:...“。
于是每次打印前我这么处理:circuitLabelBean.setCircuit_no("编码:"+circuitLabelBean.getCircuit_no())。
大家可以看到,circuitLabelBean的各个属性的入口很多。在查询时,会被赋值。在打印前,会被按规则处理赋值。我那么处理,在第一次打印时,打印完好。可再打印时,打印出来的”编码:"会递增,每次会多出一个,可其他的比如“业务代号”之类的打印就没问题。隐藏的太隐蔽了。第一时间真没想到什么原因。等到发现问题时,是全局变量入口的错。
血泪的教训:多入口的全局变量,请谨慎检查
- 多入口的全局变量
- 打印出python 当前全局变量和入口参数的所有属性
- 有关BlackBerry应用的多个入口
- 框架中的单入口和多入口
- Google的秘密入口
- Google的秘密入口
- Google的秘密入口
- Google的秘密入口
- Google的秘密入口
- google的秘密入口
- Google的秘密入口
- google的秘密入口
- google的秘密入口
- Google的秘密入口
- google的秘密入口
- MFC的入口
- 互联网的入口
- OEP入口的特征
- Binary search ·· 的思想应用··
- 第7周项目一-静态成员应用 时间类
- Spring AOP
- php复制目录下的所有文件及文件夹
- 子衿的事(76)
- 多入口的全局变量
- 擅长排列的小明 南工19
- 引用js或css后加?v= 版本号的用法
- tablediff 实用工具 使用技巧
- 2011年北京航空航天大学上机题
- 什么是SQL注入式攻击
- xcode4 设置调试错误信息小结
- C#中MessageBox用法大全
- Linux文件系统