Re: Refactoring history and progress
William Wake <[email protected]>
| Newsgroups | gmane.comp.programming.refactoring |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Dec 17, 2009 at 10:01 PM, Adam Sroka <[email protected]> wrote: > The wikipedia article (First hit on Steven's search) is accurate and does a > pretty good job. The term originates with William Opdyke and predates his > PhD thesis on the subject by only a couple years (The thesis was published > in 1992. He also published an earlier article in 1990.) > > The term refactoring is a math metaphor. When you factor an equation you > change it's structure without changing it's semantics. The point is usually > to put it in a form that is simpler, that matches some pattern which aids > in > its solution, or that shows how it relates to some other known equation > (Often used in physics to see how various phenomenon are related to one > another.) > Also, the term "factoring" was being used in Yourdon & Constantine's "Structured Design" (a huge influence) so I'm sure the word echoed through. I don't know if they took it from math or if someone earlier had been using it. I think the book "Interactive Programming Environments" by Barstow et al. includes description of some environments that did some refactoring (though not under that name). You can find used copies for <$1. I think they describe some good work in the Lisp world. There was a good article by Burstall & Darlington, "A transformation system for developing recursive programs"; if you search for who cites that & what it cites you'll have an interesting trail. You might try to follow some of the "program transformation" work. This tended to be more of a design going forward than reworking an existing design. There's interesting stuff in the formal language world and the compiler world looking into what it means for two programs to express the same thing. (For compilers, one part is the sheer act of transforming source code to machine code - intended to be a behavior-preserving transformation. Another place it came up is in optimization, as these transformations could trade readability for performance.) --Bill Wake -- Bill Wake Industrial Logic, Inc. E-learning on refactoring and TDD, 40% off in December only - http://industriallogic.com [Non-text portions of this message have been removed] ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/refactoring/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/refactoring/join (Yahoo! ID required) <*> To change settings via email: [email protected] [email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/