Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Prefactoring approaches software development of new systems using lessons learned from many developers over the years. It is a compendium of ideas gained from retrospectives on what went right and what went wrong in development. Some of these ideas came from experience in refactoring. Refactoring is improving the design of existing code to make it simpler and easier to maintain.

This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing. These guidelines can help you create more readable and maintainable code in your next project.

To help communicate the many facets of this approach, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision through implementation. Some of the guidelines you'll encounter along the way include:

  • When You're Abstract, Be Abstract All the Way

  • Splitters Can Be Lumped Easier Than Lumpers Can Be Split

  • Do a Little Job Well and You May Be Called Upon Often

  • Plan Globally, Develop Locally

  • Communicate with Your Code

  • The Easiest Code to Debug Is That Which is Not Written

  • Use the Client's Language

  • Don't Let the Cold Air In

  • Never Be Silent

  • Don't Speed Until You Know Where You Are Going

Subscriber Reviews

Average Rating: 0 out of 5 rating Based on 0 Ratings

No Subscribers have provided a review for this book.

Table of Contents



The publisher has provided additional content related to this title.


Visit the catalog page for Prefactoring

  • Catalog Page

Visit the errata page for Prefactoring

  • Errata

Download the supplemental electronic content for Prefactoring

  • Supplemental Content