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

发布于:2022-12-31 ⋅ 阅读:(195) ⋅ 点赞:(0)

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

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

2. 重构全局变量的目标

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

《重构》书中提到:

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

3. 重构全局变量的技巧

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

操作 快捷键
抽取方法 Ctrl + Alt + M
移动静态成员 F6
转换为实例方法 Ctrl + Alt + Shift + T -> Move Instance Method
鼠标右键 -> refactor -> Move Instance Method
抽取字段 Ctrl + Alt + F

网站公告

今日签到

点亮在社区的每一天
去签到