代码坏味道与重构之全局变量

1. 为什么全局变量是坏味道

全局变量的作用范围是全局,通常指类变量或单例等,可以在代码中任一角落修改的数据,而且没有任何有效的机制检测出全局变量修改的位置。因此全局变量引发的bug,都是一些诡异的bug,难以定位。

2. 重构全局变量的目标

目标就是尽可能的消除全局变量,非必要且必须,否则不要使用全局变量。

《重构》书中提到:

良药与毒药的区别在于剂量。少量的全局变量影响或许有限,但数量越多,处理的难度就会指数上升。因此即便只有少量的数据,我们也愿意将它封装起来。

3. 重构全局变量的技巧

我们可以通过封装变量抽提函数 消除全局变量。

操作快捷键
抽取方法Ctrl + Alt + M
移动静态成员F6
转换为实例方法Ctrl + Alt + Shift + T -> Move Instance Method
鼠标右键 -> refactor -> Move Instance Method
抽取字段Ctrl + Alt + F
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值