ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
曾用名:内联临时变量(Inline Temp) 反向重构:提炼变量(119) ![](https://box.kancloud.cn/3eccd991bf04f6fb95ecfdc33105bb0d_373x174.jpeg) ``` let basePrice = anOrder.basePrice; return (basePrice > 1000); ``` ![](https://box.kancloud.cn/a3bed334e2e1f6d1a46c5039deb25af9_91x152.jpeg) `return anOrder.basePrice > 1000;`### 动机 在一个函数内部,变量能给表达式提供有意义的名字,因此通常变量是好东西。但有时候,这个名字并不比表达式本身更具表现力。还有些时候,变量可能会妨碍重构附近的代码。若果真如此,就应该通过内联的手法消除变量。 ### 做法 - 检查确认变量赋值语句的右侧表达式没有副作用。 - 如果变量没有被声明为不可修改,先将其变为不可修改,并执行测试。 > 这是为了确保该变量只被赋值一次。 - 找到第一处使用该变量的地方,将其替换为直接使用赋值语句的右侧表达式。 - 测试。 - 重复前面两步,逐一替换其他所有使用该变量的地方。 - 删除该变量的声明点和赋值语句。 - 测试。