Skip to content
0:00 / 0:00

#sandimetz#gildedrose#dry

RailsConf 2014 - All the Little Things by Sandi Metz

Confreaks

42K subscribers • 83 videos on Hallway • Conference channel

YouTube
  • Recommended by 18 people: 15 on Hacker News, 1 on Lobsters and 2 curated lists.
  • A classic. People kept recommending it from 2015 to 2026.
  • Presented by Sandi Metz, author of Practical Object-Oriented Design in Ruby
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

190K views12 years ago18 recommendations

Software designProgramming languagesDesign patternsRefactoring and legacy codeObject-oriented design

Sandi Metz demonstrates how to refactor complex conditional code into simple, interchangeable objects using object-oriented design principles.

Theory tells us to build applications out of small, interchangeable objects but reality often supplies the exact opposite. Many apps contain huge classes of long methods and hair-raising conditionals; they're hard to understand, difficult to reuse and costly to change. This talk takes an ugly section of conditional code and converts it into a few simple objects. It bridges the gap between OO theory and practice and teaches straightforward strategies that all can use to improve their code. Sandi Metz, author of "Practical Object-Oriented Design in Ruby", believes in simple code and straightforward explanations. She prefers working software, practical solutions and lengthy bicycle trips (not necessarily in that order) and consults and teaches on all things OOP. Help us caption & translate this video! amara.org/v/FG0O/

Why it's here

18 people recommend this

What people say. Highly recommended for its practical approach to refactoring and the famous insight that duplication is cheaper than the wrong abstraction.

mbestoon Hacker News • Recommends

On “Refactoring: How do I even start?”

Sandi Metz talk "All the Little Things"0 is amazing for understanding the general concepts around refactoring OOP code. It's ruby centric, but the concepts are applicable to all OOP languages. The most interesting part is the fact that during the refactoring process you should actually increase the amount of code and complexity to eventually consolidate and aggregate it down. This as opposed to simply trying to delete/mutate code. 0 - link to this video

hire_chartson Hacker News • Recommends

On “Rich Hickey Fanclub”

That and Hammock Driven Development: link Both of these talks are in my top 5. Edit (okay, here are the other 3): * All the Little Things by Sandi Metz link to this video * Programming is terrible—Lessons learned from a life wasted. link * Some talk I saw by Dan McKinley on making Data-Driven decisions. I can't find the original video, but here's a really similar one: link

tincoon Hacker News • Recommends

On “Talks that changed the way I think about programming”

These talks are a little skewed to the game/high performance programming side of the art, but still very interesting in general. Of the ones I've already seen I really like Mike Acton's talk. Since this has become such a nice thread some additions I'd add: * Sandi Metz going through the Gilded Rose or "All the small things" link to this video I already subscribed to her programming style and the general Ruby TDD/BDD movement, but this talk captures all the important values in a single example. I think it made my programming style no longer based on vague things like experience or intuition, but just on concrete merit shown in this talk. * Matthew Brecknell demonstrating Hole Driven Development link T…

da_murvelon Hacker News • Recommends

On “Ask HN: What are some of the best technical talks you've heard?”

Define "technical". But when it comes to programming I always enjoy Sandi Metz's talks. I can highly recomend this talk she made at the RailsConf in 2014, about taking an ugly beast of code and turning it to something more digestable and beautiful link to this video

chrischattinon Hacker News • Recommends

On “Confessions of an Abstraction Hater”

I'm a huge proponent of this concept. The goal is to be able to build and iterate as fast as possible. Most of this is achieved when new folks can step in and understand the code right away. Needless abstraction slows this down and makes the app more brittle to changes in response to customer/client inputs. Sandi Metz had an awesome presentation about this during a Rails Conf. "Duplication is far cheaper than wrong abstraction" link to this video Her blog talking more about the assertion: link

abvdaskeron Hacker News • Recommends

On “Goodbye, Clean Code”

"Duplication is far cheaper than the wrong abstraction." — Sandi Metz ( link to this video ) This talk by her is one of my favorites ever. Her ideas definitely made me a better programmer.

wilkystyleon Hacker News • Recommends

On “Cognitive load is what matters”

One of the many great takeaways from Sandi Metz's talk at Railsconf 2014: "Duplication is far cheaper than the wrong abstraction." link to this video Worth watching in its entirety, but the quote is from ~13:59 in that video.

programming-talkscurated list on GitHubRecommends

Under “Software Development”

All the Little Things 00:38:46 by **Sandi Metz** (2014)

every-programmer-should-knowcurated list on GitHubRecommends

Under “Engineering Philosophy”

:movie_camera: All the Little Things

there4on Hacker News • Recommends

On “Ask HN: How do you deal with 2000 line functions?”

This is a great presentation about refactoring that may be useful: "RailsConf 2014 - All the Little Things by Sandi Metz" link to this video

zachroseon Hacker News • Recommends

On “Ask HN: What are some examples of beautiful software?”

Not working software per se, but I think there's a lot of beauty in the way Sandi Metz demos a refactoring of a thing called The Gilded Rose in this video: link to this video

rimliuon Hacker News • Recommends

On “Ask HN: What books had the greatest effect on how you structure your code?”

Sandi Metz was already mentioned in this thread, so I present link to this video where she shows how the little things can help.

andrei_says_on Hacker News • Recommends

On “Ruby 2.5.0 Released”

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 a couple of talks by the author which examplify her style of thinking and approaching problems. link link to this video

d4mi3non Hacker News • Recommends

On “Programming: Doing it more vs. doing it better”

This line of discussion reminds me of a great quote by Sandi Metz, who's pretty well known in the ruby community for harping on the topic. One thing I saw in a talk of hers that really stuck with me: Repetition is preferable to the wrong abstraction. The first thing that's drilled into a new programmer is DRY. It's easy to understand and it works reasonably well. The next step up seems to be knowing when _not_ to roll stuff up, and how to tell when you're looking at a distinct piece of logic that needs to be reified into it's own entity or function. EDIT: The Sandi Metz talk I mentioned: link to this video

adamklon Hacker News • Recommends

On “The Wrong Abstraction (2016)”

Sandi mentions this during a talk she gave on refactoring a few years ago. 0 It’s a great little video for showing junior developers how a messy bit of code can be cleaned up with a few well chosen OOP patterns (and a set of unit tests to cover your ass). 0 link to this video

chrisbraunson Hacker News • Recommends

On “Ask HN: Is There a LeetCode for Refactoring?”

I don't have a full 'LeetCode' style example, but the Gilded Rose Kata teaches me something every time I try it. Original Kata: link Sandi Metz's Take: link to this video