About Duffbert...

Duffbert's Random Musings is a blog where I talk about whatever happens to be running through my head at any given moment... I'm Thomas Duff, and you can find out more about me here...

Email Me!

Search This Site!

Custom Search

I'm published!

Co-author of the book IBM Lotus Sametime 8 Essentials: A User's Guide
SametimeBookCoverImage.jpg

Purchase on Amazon

Co-author of the book IBM Sametime 8.5.2 Administration Guide
SametimeAdminBookCoverImage.jpg

Purchase on Amazon

MiscLinks

Visitor Count...



View My Stats

« October Search Oddities... | Main| Book Review - Beyond Java by Bruce A. Tate »

Book Review - Prefactoring by Ken Pugh

Category Book Reviews

Prefactoring - Extreme Abstraction, Extreme Separation, Extreme Readability by Ken Pugh involves a twist on the concept of "refactoring", improving the design of a program (or module) after the fact while retaining the same functionality.  Prefactoring is making sure good design techniques are practiced up front to help avoid having to refactor as much later...

Contents:  Introduction To Prefactoring; The System In So Many Words; General Development Issues; Getting The Big Picture; Got Class?; A Few Words On Classes; Getting There; The First Release; Associations And States; Interfaces And Adaption; Zip Codes and Interfaces; More Reports; Invoices, Credit Cards, And Discounts; Sam Is Expanding; A Printserver Example; Antispam Example; Epilogue; Guidelines And Principles; Source Code; Index

Pugh runs an imaginary development project (Sam's CD Rental and Lawn Mower Repair) where a new system is built to allow customers to rent CDs.  This is currently a manual process, but the owner wants to automate it.  By using prefactoring design techniques throughout, the developers are able to build the system such that it's much easier to make changes and design modifications later on without causing major rework.  Throughout the book, each step in the process is recapped in a short maxim that makes the concept easy to remember and apply to your own situation.  For instance, "Do A Little Job Well And You May Be Called Upon Often - Methods and classes that perform specific jobs can be reused more often" and "Figure Out How To Migrate Before You Migrate - Considering the migration path might help you discover additional consideration in other areas of the design".  Personally, it's these little gems that make the book most valuable.

I can see how some people would think this "prefactoring" is nothing more than good design techniques.  That's probably a valid point.  I don't know that prefactoring is some new revolutionary approach to design that will rank up there with things like agile methodologies and such.  But it does allow you to wrap your mind around a general concept ("good design") and develop a framework for improving your skills in that area.  For that, it's a valuable read...

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Want to support this blog or just say thanks?

When you shop Amazon, start your shopping experience here.

When you do that, all your purchases during that session earn me an affiliate commission via the Amazon Affiliate program. You don't have to buy the book I linked you to (although I wouldn't complain!). Simply use that as your starting point.

Thanks!

Thomas "Duffbert" Duff

Ads of Relevance...