重构的词源学探索

原创 2003年09月11日 11:12:00

说实话,即便是在写《重构之维》的时候,这个问题仍然困扰着我:refactoring(refactory)这个词从何而来?Martin Fowler猜,它来自代数里的因式分解(factoring),但最早的重构者们似乎从来没有想到过这个词……

——————

EtymologyOfRefactoring refactoring 10 September 2003

Where did the word refactoring come from?

This question struck my mind a few times when writing the refactoring book. I didn't think that trying to do an intensive etymological search was worth the trouble - after all it was the techniques that I was focused on - but I did ask around the people who had helped develop the ideas (Ward Cunningham, Kent Beck, Bill Opdyke, John Brant, Don Roberts, Ralph Johnson...)

The obvious answer comes from the notion of factoring in mathematics. You can take an expressions such as x^2 + 5x + 6 and factor it into (x+2)(x+3). By factoring it you can make a number of mathematical operations much easier. Obviously this is much the same as representing 18 as 2*3^2. I've certainly often heard of people talking about a program as well factored once it's broken out into similarly logical chunks.

When I asked around the creators of refactoring, the common answer was that they had no idea. The term had been around for a while and they don't know where it came from.

The one definite answer I got was from Bill Opdyke, who did the first thesis on refactoring. He remembered a conversation during a walk with Ralph Johnson. They were discussing the notion of Software Factory, which was then in vogue. They surmised that since software development was more like design than like manufacturing, it would be better to call it a Software Refactory. Refactory has gone on to be the name for the consulting organization that Ralph and his colleagues use.

如何重构一个系统

如何重构一个系统 发现一个很有意思的情况,做系统写代码多年了,遇到的需求基本上是在已有的系统上实现,从头来实现的系统基本上没有。 1 why 无论是从头是实现一个系统,还是维护一个系统,当时实现的技术...
  • liu251
  • liu251
  • 2014年12月21日 13:52
  • 4939

重构、重写、重载

重构(Refactoring):     即只是和父类的方法名相同,方法的签名并不相同;即不是同一个函数; 重构就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模...
  • u011031854
  • u011031854
  • 2013年09月11日 16:30
  • 1058

说说什么是重构(一)重构的起点

序 最近,在看一本叫做《重构:改善既有代码的设计》的书,虽然是电子版的,但是依然不影响看书的积极性。可以说,老早之前就知道什么是重构了,但是总感觉那会的重构就是把整个项目都推翻重来一遍,或许是改变...
  • happylee6688
  • happylee6688
  • 2015年05月28日 15:49
  • 2723

常用的代码重构方法

一.提取子函数 说白了就是一个大函数里,可以根据不同功能分成几个小函数,因为说不定,其他函数也可能会用到其中的函数 二.把大家都要用的方法放到父类中     所有对象都要执行同一个方法,那就把这个方法...
  • u011889786
  • u011889786
  • 2016年07月09日 10:13
  • 4053

大型系统重构的步骤简单梳理

目前正在参与公司一个核心大系统的重构工作。本文梳理一下大型系统重构的一些步骤和心得。...
  • linsongbin1
  • linsongbin1
  • 2016年07月14日 22:54
  • 3951

深度学习中的“重构”

重构(Reconstruct)是指从经过变换的数据中恢复出原始数据。 基本上,所有的深度学习算法中都用到了重构这一思想。 深度学习中的重构主要有两种: 1. Value-based。 即基于值的重...
  • hijack00
  • hijack00
  • 2016年10月06日 21:42
  • 1904

【Java重构系列】重构31式之封装集合

2009年,Sean Chambers在其博客中发表了31 Days of Refactoring: Useful refactoring techniques you have to know系列文...
  • LoveLion
  • LoveLion
  • 2014年01月10日 02:27
  • 18296

java 代码重构

几天前的一次上线,脑残手抖不小心写了bug,虽然组里的老大没有说什么,但心里面很是难过。同事说我之所以写虫子是因为我讨厌if/else,这个习惯不好。的确,if/else可以帮助我们很方便的写出流程控...
  • zero_295813128
  • zero_295813128
  • 2016年04月14日 14:46
  • 4921

重构 改善既有代码的设计——重构原则

1.何谓重构? 答: A.重构(名词意义):对软件内部结构的调整,目的是在不改变软件可观察行为的前提下,提高其理解性,降低其修改成本; B.重构(动词意义):使用一系列重构手法,在不改变软件可观...
  • zhongshujunqia
  • zhongshujunqia
  • 2016年09月08日 11:52
  • 1138

【Java重构系列】重构31式之搬移方法

毋容置疑,搬移方法(Move Method)应该是最常用的重构手段之一,正因为太常用而且较为简单,以至于很多人并不认为它是一种很有价值的重构,但事实并非如此,在最初的代码诞生之后,有些方法可能会被放在...
  • LoveLion
  • LoveLion
  • 2014年01月11日 00:41
  • 16981
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:重构的词源学探索
举报原因:
原因补充:

(最多只允许输入30个字)