Prefactoring

( 1 )

Overview

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....

See more details below
Paperback
$27.79
BN.com price
(Save 7%)$29.95 List Price
Other sellers (Paperback)
  • All (19) from $1.99   
  • New (7) from $8.50   
  • Used (12) from $1.99   
Sending request ...

Overview

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
Read More Show Less

Product Details

  • ISBN-13: 9780596008741
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 6/15/2005
  • Pages: 240
  • Product dimensions: 6.91 (w) x 9.35 (h) x 0.59 (d)

Meet the Author

Ken Pugh has extensive experience in the area of software analysis and design, both as a doer and as a teacher. He's a well-known, frequent conference speaker.

Read More Show Less

Table of Contents

  • Copyright
  • Dedication
  • Preface
  • Chapter One: Introduction to Prefactoring
  • Chapter Two: The System in So Many Words
  • Chapter Three: General Development Issues
  • Chapter Four: Getting the Big Picture
  • Chapter Five: Got Class?
  • Chapter Six: A Few Words on Classes
  • Chapter Seven: Getting There
  • Chapter Eight: The First Release
  • Chapter Nine: Associations and States
  • Chapter Ten: Interfaces and Adaptation
  • Chapter Eleven: Zip Codes and Interfaces
  • Chapter Twelve: More Reports
  • Chapter Thirteen: Invoices, Credit Cards, and Discounts
  • Chapter Fourteen: Sam Is Expanding
  • Chapter Fifteen: A Printserver Example
  • Chapter Sixteen: Antispam Example
  • Chapter Seventeen: Epilogue
  • Appendix A: Guidelines and Principles
  • Appendix B: Source Code
  • Colophon

Read More Show Less

Customer Reviews

Average Rating 4
( 1 )
Rating Distribution

5 Star

(0)

4 Star

(1)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted December 4, 2005

    My eyes were opened

    Prefactoring is a concept with which I was not familiar until I read this book. The term refactoring is known to most agile programmers and is the act of re-writing and re-working code until it reaches a state of perfection. Since perfection is never achieved, the work of refactoring goes on for ever. Prefactoring on the other hand is the act of writing good code, based on all your previous software experience. Similar to a standard programming book, this book begins with the most general topics (classes, interfaces) to moves toward the more specific (implementation). While some of the author¿s ideas for prefactoring are common-sense for experienced programmers, he does share a lot of interesting ideas. As an example, he states ¿when you¿re abstract, be abstract all the way¿, suggesting that classes shouldn¿t use primitives to describe data. In other words, instead of a double to represent a dollar amount, why not use a custom type called Dollar? Additionally, why use a string to represent every type of text data? Why not use a custom type called CommonString to represent text data that consists of A-Z,0-9? Okay, so a string isn¿t a primitive, but you get the point. Throughout the book are snippets of code, discussion about good and bad design aspects and a one sentence summary of the point. This layout makes the book easy to read, quick to re-check your design, and very valuable. Now this book isn¿t designed for the beginning programmer. Prefactoring requires that you use your experience in software development to continually create better code. However, this is an excellent book for the junior-level programmer on up. Prefactoring is a very interesting concept, once which I think the author was able to successfully get me to buy into. This is also an excellent book simply for the software design guidelines. This is an excellent software architecture book, highly recommended.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)