Reviewed by Jeanne Boyarsky, December 2005
(8 of 10)
The term "prefactoring" is supposed to mean using things you learn from your own experience or the experience of others to improve new programs. The book "Prefactoring" revolves around approximately 70 requirements and design guidelines. The stated audience is anyone who understands the basic concepts of OO. It is good for a beginner who has read some or a practicing developer who wants a reminder of best practices.
Most of the book follows the development of a fictional system. The guidelines are sprinkled throughout as appropriate. The author is realistic in noting that many exceptions to the guidelines exist. A few are illustrated within the context of the fictional system. However, I found the user of some guidelines left much to be inferred by the reader.
The guidelines focus on abstraction, separation of concerns and readability. An appendix cross references them well. The fictional customer was realistic in demands, which was nice to see in a book. Overall, the book read well, was factually accurate and provided a good walkthrough of the thought process in a sample design. But on the book's focus of guidelines, it left me wanting more depth.