99 Bottles of OOP

Sandi Metz, Katrina Owen

99 Bottles of OOP
ProgrammingSoftware DevelopmentBest Practices


We are practical people. We love beautiful code but we're committed to getting things done. 99 Bottles of OOP enables both of these desires. It teaches practical techniques for getting things done that lead, naturally and inevitably, to beautiful code.This book contains an extended refactoring, and it details the rationale behind every change. It is a hands-on workbook rather than a list of theoretical ideas. It explains how to use the principles of object-oriented design to guide, not just the final arrangement of code, but each decision about what line of code to write next.

It teaches the theory of what good OO looks like, but even better, it supplies step-by-step guidance about how to achieve it.

Favorite Quotes

  • The code you write should meet two often contradictory goals. It must remain concrete enough to be understood while simultaneously being abstract enough to allow for change.

  • Since form follows function, good code can also be defined simply, and somewhat circularly, as that which provides the highest value for the lowest cost.

  • Spending time "improving" code based purely on aesthetics may not be the best use of your precious time.

  • Code is expensive. Writing it costs time or money. It therefore behooves you to be as efficient as possible. The most cost-effective code is as good as necessary, but no better.