首页/开发/代码质量与评审速查/手法:Slide Statements(移动语句)
重构手法62 条

手法:Slide Statements(移动语句)

把相关语句聚到一起:变量声明贴近使用点、相关操作集中,为后续提炼创造条件;移动前确认语句之间没有隐藏依赖与副作用顺序。

目标相关代码相邻,降低阅读跳跃
安全点语句间无数据依赖、无顺序敏感的副作用
后续常作为 Extract Function 的前置

示例

示例
// 之前
int a = 1;
int b = 2;
// ... 若干无关语句
use(a);

// 之后
int a = 1;
use(a);
int b = 2;

易错点

  • 忽略异常安全顺序:资源获取与释放被拆开
  • 移动有副作用的语句:执行次数虽同但时序变化

数据来源与参考

  • 《重构》第 2 版 · 第 8 章(Slide Statements)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌