Prefactoring
Encyclopedia
Prefactoring is the application of past experience to the creation of new software system
Software system
A software system is a system based on software forming part of a computer system . The term "software system" is often used as a synonym of computer program or software; is related to the application of systems theory approaches in software engineering context and are used to study large and...

s. Its relationship to its namesake refactoring
Refactoring
Code refactoring is "disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior", undertaken in order to improve some of the nonfunctional attributes of the software....

 is that lessons learned from refactoring are part of that experience.

Experience is captured in guidelines that can be applied to a development process. The guidelines have come from a number of sources, including Jerry Weinberg
Gerald Weinberg
Gerald Marvin Weinberg is an American computer scientist, author and teacher of the psychology and anthropology of computer software development.- Biography :Gerald Weinberg was born and raised in Chicago...

, Norm Kerth, and Scott Ambler
Scott Ambler
Scott W. Ambler is a Canadian software engineer, consultant and author, currently Practice Leader Agile Development at IBM Corporation in the IBM Methods group...

 .

These guidelines include:
  • "When you're abstract, be abstract all the way"
  • "Splitters can be lumped more easily than lumpers can be split
    Lumpers and splitters
    Lumping and splitting refers to a well-known problem in any discipline which has to place individual examples into rigorously defined categories. The lumper/splitter problem occurs when there is the need to create classifications and assign examples to them, for example schools of literature,...

    "
  • "Use the client’s language"

Further reading

(the book won the Jolt award 2006)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK