为什么选择重构这个词来表示程序或其部分的更改?
Why word refactor was chosen for change of program or its part?
我的问题部分是语言性的,但与编程非常相关(几乎任何东西,网页或其他任何东西)。
我想知道为什么选择重构来更改程序或其部分,否则的话可能会更多准确且更好地描述已完成的更改。
IDE(例如 NetBeans 或 Eclipse)仅将此词用于重命名所选程序(项目)的任何部分,包括将文件移动到其他位置(从任何 OS 的角度来看,它可能只是重命名)。
但是重命名不是改变因素(因为它是重命名时没有改变的东西)。
更接近词义重构(作为因子的改变)是手动重写任何部分,当重写的部分改变了行为(但不是程序在外部视图中执行的操作 - 正如主题 What is refactoring and what is only modifying code? 中所写)。
"Refactoring" 这个词来源于数学,您可以通过再次应用因式分解找到等价的表达式。等效表达式不会改变最终结果,但更容易理解、使用或重用。
重构技术有很多种,重命名就是其中之一。其他技术包括提取方法、提取 class、移动方法、将 class、pull/push 方法移动到 super/sub-class 等等。
我的问题部分是语言性的,但与编程非常相关(几乎任何东西,网页或其他任何东西)。
我想知道为什么选择重构来更改程序或其部分,否则的话可能会更多准确且更好地描述已完成的更改。
IDE(例如 NetBeans 或 Eclipse)仅将此词用于重命名所选程序(项目)的任何部分,包括将文件移动到其他位置(从任何 OS 的角度来看,它可能只是重命名)。
但是重命名不是改变因素(因为它是重命名时没有改变的东西)。
更接近词义重构(作为因子的改变)是手动重写任何部分,当重写的部分改变了行为(但不是程序在外部视图中执行的操作 - 正如主题 What is refactoring and what is only modifying code? 中所写)。
"Refactoring" 这个词来源于数学,您可以通过再次应用因式分解找到等价的表达式。等效表达式不会改变最终结果,但更容易理解、使用或重用。
重构技术有很多种,重命名就是其中之一。其他技术包括提取方法、提取 class、移动方法、将 class、pull/push 方法移动到 super/sub-class 等等。