Practical Object-Oriented DesignSandi Metz
Practical Object-Oriented Design
by Sandi Metz · first published 2018
17mentions
14recommended by
15HN commenters
2012–2026first – last mentioned
93% recommend7% neutral
Why HN recommends it
Clear, approachable guide to building code that is easy to change and extend, focused on design principles rather than language quirks. Suits Rubyists and other OOP developers, even newer programmers.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.







This is an all time favorite: Sandi Metz' Practical Object Oriented Design https://www.amazon.com/gp/product/0321721330/ref=as_li_tl?ie... It takes the cognitive overhead off of the programming language completely and focus on design principles in a really modern learning style.
on “Ask HN: Are there any courses/course materials that teach oop concepts well?” ↗Sandi Metz’s talks and Practical Object Oriented Design with Ruby book. Here’s one of the talks, nothing is something : https://youtu.be/29MAL8pJImQ
on “Ask HN: What's an (article|book|vid) that changed the way you view programming?” ↗Practical Object-Oriented Design: An Agile Primer Using Ruby 2nd Edition by Metz Sandi (Author) Starting to get into programming again and she explains things in a way even a non programmer can understand. Quite rare in programming…
on “Ask HN: Best Programming Books of 2020?” ↗If your language is Ruby or Python I would recommend Practical Object Oriented Design by Sandi Metz
on “Books that changed my career as a software engineer” ↗…Programming: * Implementation Patterns - Kent Beck * Test-Driven Development, By Example - Kent Beck * Refactoring (both editions) - Martin Fowler * Refactoring to Patterns - Joshua Kerievsky * Practical Object Oriented Design - Sandi Metz * Functional Programming in Scala - Chiusano & Bjarnason * Growing Object-Oriented Software, Guided By Tests - Freeman & Pryce ("The Goose Book") * Modern Java in Action - Raoul-Gabriel…
on “Theory-building and why employee churn is lethal to software companies” ↗You may enjoy Practical Object Oriented Design with Ruby by Sandi Metz. Speaks about OO software design in very clear and easy to grasp way. I often share it with non-ruby devs because it’s about design much more than it is about ruby. Here are…
on “Ruby 2.5.0 Released” ↗Off the top of my head: - Reading books (e.g. Clean Code, Refactoring: Ruby Edition, Practical Object-Oriented Design, ... these left a mark) - Going to conferences (Rubyist? Attend a talk by Sandi Metz if you have a chance) - Testing (TDD at least Unit Testing) - Yeah, the usual stuff: quick deployments, pull requests,…
on “Ask HN: What change in your programming technique has been most transformative?” ↗Maybe these: Practical Object Oriented Design (Metz) Refactoring (Feathers) Test driven development with Python (Percival) Missing Semester: https://missing.csail.mit.edu/
on “Ask HN: How do I teach intermediate Python engineering skills?” ↗…Ruby ecosystem was particularly bad about "DRY"(vs WET) and indirection back in the day. Things were pretty dire until Sandi Metz introduced Ruby developers to the rest of the programming world with "Practical Object-Oriented Design". I think that helped start a movement away from "clever", "artisanal", and "elegant" and towards more practicality that favors the future programmer. Does anyone remember debugging Ruby code where lines…
on “Maybe Comments _Should_ Explain 'What'” ↗…do have one other book to recommend for you Rubyists. While I say this is for Rubyists, the concepts in the following book are extremely helpful for other OOP languages as well: http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-... I hope this helps; I have spent many hours going through books that sort of meander around the point, have extra fluff, etc. So when I come across two truly stellar gems like the above, I would…
on “What one book could give me a new, useful superpower?” ↗If you want an amazing book on Design Patterns for ruby, http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-...
on “Adopting a new programming language” ↗>> How to build a structure that is easy to change and extend. This is a very good book on subject, very clear: http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-...
on “Organizing complexity is the most important skill in software development” ↗One good thing about technical ebooks is that they know their audience can just pirate it if they want, so they don't bother with DRM. Was happy to pay for my digital copy of "Practical Object Oriented Design".
on “Digital books wear out faster than physical books” ↗Honestly, PragProg gets you pretty far from a mentality perspective. Practical Object Oriented Design is a nice skills book. You might also try The Mythical Man Month.
on “Ask HN: Best Books to Read Develop Your Career?” ↗If working with object oriented languages, I recommend https://www.poodr.com/ Practical Object-Oriented Design, An Agile Primer Using Ruby (POODR)
on “Ask HN: Classic programming books to read over the summer?” ↗