TXT (35 KB)
PDF (2.3 MB)
EPub (5.2 MB)
Mobi Kindle Edition (14.2 MB)
Audiobook MP3 full length (320 MB)
Everybody complains about the weather but nobody does anything about it. Likewise, everyone has an opinion about what good code looks like, but those opinions dont help you create it. This book fills that gap. It explains the process of writing good code, and teaches you to achieve beautifully programmed ends by way of extremely practical means.
What Its About
99 Bottles of OOP is a practical guide to writing cost-effective, maintainable, and pleasing object-oriented code.
Recognizing when code is good enough
Getting the best value from Test-Driven Development (TDD)
Doing proper refactoring, not random rehacktoring
Locating concepts buried in code
Finding names that convey deeper meaning
Safely altering code by following the Flocking Rules
Simplifying new additions with the Open/Closed Principle
Avoiding conditionals by obeying the Liskov Substitution Principle
Making targeted improvements by reducing Code Smells
What Makes It Unique?
We are practical people. We love beautiful code but were committed to getting things done. 99 Bottles of OOP enables both of these desires. It teaches a practical technique for getting things done that leads, 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.
Who Should Read It?
The lessons work for programmers with a broad range of experience, from rank novice to grizzled veteran. The code examples are written in Ruby, but this book is not about Ruby--its about object-oriented programming and design. Regardless of your background, applying these techniques will make your code easier to understand, simpler to change, and more satisfying to contemplate.