Refactoring is a technique to restructure code in a disciplined way, and is well suited to tool support, though extant tools are rather basic. Refactoring is common and vital practice in object-oriented programming, Forth programming, and forms a central part of the Extreme Programming methodology.
Related categories 2
Bill Griswold Page
Researches software engineering: building large, complex systems at reasonable cost and high reliability; especially evolution (e.g., enhancement) of large systems, which is driven by unpredictable market forces, including customer desire for leading-edge functions.
Catalog of Database Refactorings
Catalog of small changes to your database schema which improves its design without changing its semantics.
Code Refactoring - Wikipedia
Overview of definitions and methodologies.
Object-oriented programming expert and consultant, one of the leaders in refactoring, author of the book 'Refactoring: Improving the Design of Existing Code', Extreme Programming proponent. Many useful articles and links.
Refactoring to Patterns
By Joshua Kerievsky; Addison Wesley, 2004, ISBN 0321213351; interactive CD available. Jolt award winning book, merges refactoring (process to improve design of extant code) with patterns (classic solutions to recurring design problems). Industrial Logic.
The Refactory, Inc.
Founded as a consortium of experts in Refactoring, objects, e-commerce, Patterns, Extreme Programming, flexible and adaptable systems; dedicated to helping organizations succeed with objects; evolved from Ralph Johnson Software Architecture group, University of Illinois.
Catalog of 74 classic refactorings.
A Survey of Software Refactoring
Abstract and many references, from paper with overview of research; link to full paper, for fee. IEEE Transactions on Software Engineering.
Refactoring as Meta Programming?
Suggests a different context than usual. Dave Thomas. JOT: Journal of Object Technology. (January 01, 2005)