|
Where did the word refactoring come
from?
This question struck my mind a few times when writing the
refactoring book. I knew the term was used within a fairly small
community, so in order to discover the etymology of refactoring I
talked to the people in that group (Ward Cunningham, Kent Beck, Bill
Opdyke, John Brant, Don Roberts, Ralph Johnson...) to find what had
led them to come up with the term. 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.
|