GORUCO 2009 - SOLID Object-Oriented Design by Sandi Metz

  Рет қаралды 81,096

Confreaks

Confreaks

Күн бұрын

Help us caption & translate this video!
amara.org/v/GUQO/

Пікірлер: 52
@edgeeffect
@edgeeffect 2 жыл бұрын
Sandi is a wonderful speaker. SOLID is a collection of really good ideas hidden in language so opaque that it's almost impossible to decipher. And yet Sandi not only manages to decipher them, she re-presents them in a way "we mere mortals" can understand!
@jcookfl
@jcookfl 7 жыл бұрын
Very nice presentation. Sandi is highly skilled and very articulate. She's a real credit to our profession.
@diogolsq5295
@diogolsq5295 8 ай бұрын
Stable design principle, summarized in the likehood of change, is something that usually is not in the spotilight. Thanks for this awesome lesson, Sandi, you are an endless source of knowlodge.
@winterheat
@winterheat 8 жыл бұрын
Sandi has done Smalltalk for 10 years... no wonder her OOP is good
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
This is not oop
@user-ph4zo2sr5v
@user-ph4zo2sr5v 5 жыл бұрын
The code smell is unencrypted passwords in your [likely versioned] source code! :D Little dated (hash opts in method arg instead of new named args), but still fantastic! Seen it a good few times.
@andresbernal970
@andresbernal970 4 жыл бұрын
Wow it's give me clear understanding about SOLID. Thx Sandi Metz!
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
This is all a confused mess
@MarkJones
@MarkJones 8 жыл бұрын
The slides are @ skmetz.home.mindspring.com/img28.html
@StefanWelker
@StefanWelker Жыл бұрын
This principle leads you from an easy to understand specific app to a difficult to understand generic one
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
This Is all the opposite of what Alan Kay was referring to and everything that a procedural C programmer would get confused by the bad C++ ideas And we all suffer
@13odman
@13odman 5 жыл бұрын
I don’t believe she’s right about interfaces. The question he asked was about doing dependency injection sanely . I have to say interfaced make a huge difference for this , as you’re defining what you expect . This is why strongly typed languages are better imo
@user-ph4zo2sr5v
@user-ph4zo2sr5v 5 жыл бұрын
You can define what you expect through other means, too, though (annotations, DSL). For example, you can use libraries which allow you to define types of parameters passed to the instantiation of an object (`active_interaction` is great for this). Still, I agree, strongly typed languages are better for this kind of thing, especially when combined with static type checking at compile time. In fact, I see that as an essential level of explicitness and cannot understand why you would guess types and expectations by name instead.
@13odman
@13odman 5 жыл бұрын
Damien R yeah, upon reflection , I agree
@danflemming3553
@danflemming3553 3 жыл бұрын
Who's the "well known website which had to refactor all the Ruby code" at 44:46 which Sandi mentions? :)
@kpisgod
@kpisgod 2 жыл бұрын
twitter, they moved out of ruby blaming ruby is slow.
@MIIIG
@MIIIG 4 жыл бұрын
Does it Yahuda with was in camera?
@rysw19
@rysw19 9 жыл бұрын
Nice talk. One rub is that the Config class is too general. Its implementation might as well be a hash.
@ArnaudMEURET
@ArnaudMEURET 4 жыл бұрын
Definitely. Meta programming of config management meta configured in same file? Over engineering.
@sasukesarutobi3862
@sasukesarutobi3862 4 жыл бұрын
I think it was as much to show that following these principles can lead you to find that what seemed like a lot of very specific behaviour is actually only a little bit of very specific behaviour hiding in more generic behaviour, which makes it easier to extend your code. Like she said early on, feel free to walk away from any given implementation if the trade-off in refactoring isn't there.
@davidrothschild5696
@davidrothschild5696 3 жыл бұрын
Does anyone have a link to the code she references? The mindspring link doesn't seem to work for me.
@kevin9458
@kevin9458 Жыл бұрын
She shows it in the slides. She talks about the shared link because some people in the room couldn´t see the slides.
@bahmani00
@bahmani00 4 жыл бұрын
10:58 the final goal is having maintainable code
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
The final goal is ease if change Maintenance is due to design flaws not allowing ease of change
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
And this stuff just moves away from that goal
@MrFedX
@MrFedX 4 жыл бұрын
Amazing talk!
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
Why
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
Recompiling isn’t a problem tho lol 12:04
@webcoderph
@webcoderph 6 жыл бұрын
anyone has the source code of this talk? thanks
@davidko978
@davidko978 9 жыл бұрын
Does anyone know which company Sandi is talking about at: kzbin.info/www/bejne/rF6VqnmDr92krbc
@GerardCaulfield
@GerardCaulfield 7 жыл бұрын
Maybe Twitter "Over time, we had also accrued significant technical debt in our Ruby code base, making it hard to add features and improve the reliability of our search engine." blog.twitter.com/2011/twitter-search-is-now-3x-faster Although I'm not sure "refactor" is the right word here.
@davidko978
@davidko978 7 жыл бұрын
Hah right, more lile "replace"?
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
26:44 ugh totally procedural code here No Alan Kay ideas anywhere This is just C++ in Ruby, and confusing
4 жыл бұрын
As an unskilled Ruby developer I could easily maintain the original version, not so much the final result. I would've loved Sandi to prove her points with less esoteric and over-engineered code. Great talk in any case.
@baernergiu
@baernergiu 4 жыл бұрын
Francesc Rosas in the same boat, I see the value of abstraction, but if the whole codebase gets abstracted so strongly it becomes hard to read, and I am valueing readability highly
@ThePandaGuitar
@ThePandaGuitar 3 жыл бұрын
Shit code indeed. It's not your experience, your gut is right. I don't know any world class programmers who follow this OO cult cargo crap blindly. They think they are solving some deep singular problem with their overengineered overgeneralized code and next thing you know the machine is 20x slower and doesnt solve the problem at hand efficiently. This is why our processors are orders of magnitude faster and the enterprise software still sucks. These programmers don't understand their machines and treat code as some general prose. Garbage.
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
What’s great about it This all just confused things more
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
17:29 it would be way easier to write this procedurally Bad example
@vishnuprasanth4725
@vishnuprasanth4725 4 жыл бұрын
All these years I thought Sandy was a guy. I read her books in a male voice.
@CyberPin2001
@CyberPin2001 4 жыл бұрын
Talk about over complicate things! Can you imagine someone with this way of thinking working on some of the early 8-bit hardware. Wouldn't stand a chance. Development and design does NOT need to be soooooo overdone! Waffle overload.
@ThePandaGuitar
@ThePandaGuitar 3 жыл бұрын
agreed. I can't believe the comments on this video. This is on par with some of the worst programming I seen. This wouldn't stand a chance in any serious programming. Cult cargo OO programmers overcomplicating things, slowing down our machines thinking they are solving the singularity with their overgeneralized solutions. Please, solve the goddamn problem at hand. I advise watching Unity's principal programmer Mike Acton talks or reading Ulrich paper on what programmers should know about memory.
@CyberPin2001
@CyberPin2001 3 жыл бұрын
@@ThePandaGuitar - well said. It's about time more people spoke up about this stuff 👍.
@-Jason-L
@-Jason-L 2 жыл бұрын
“get off my lawn!"
@alisunjaya
@alisunjaya Жыл бұрын
what is the connection between solid design and 8 bit hardware?
@StefanWelker
@StefanWelker Жыл бұрын
​@@alisunjaya main point is this is not solid design at all
@adabujiki
@adabujiki Жыл бұрын
Lol you can tell this woman is into some weird stuff in the bedroom
@jonathan4835
@jonathan4835 Жыл бұрын
What, like refactoring?
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
@@jonathan4835lol Confusing things to the point of irrelevance
RailsConf 2015 - Nothing is Something
35:53
Confreaks
Рет қаралды 29 М.
Joven bailarín noquea a ladrón de un golpe #nmas #shorts
00:17
1 класс vs 11 класс (неаккуратность)
01:00
БЕРТ
Рет қаралды 4,7 МЛН
100❤️ #shorts #construction #mizumayuuki
00:18
MY💝No War🤝
Рет қаралды 20 МЛН
Would you like a delicious big mooncake? #shorts#Mooncake #China #Chinesefood
00:30
8 Design Patterns EVERY Developer Should Know
9:47
NeetCode
Рет қаралды 994 М.
Object-Oriented Programming is Embarrassing: 4 Short Examples
28:03
RubyConf 2009 - SOLID Ruby by: Jim Weirich
46:19
Confreaks
Рет қаралды 9 М.
Factorio Trains Explained in Less Than Three Minutes
3:00
DoshDoshington
Рет қаралды 612 М.
RailsConf 2014 - All the Little Things by Sandi Metz
38:47
Confreaks
Рет қаралды 169 М.
Sandi Metz - Talk Session: Polly Want a Message
41:22
Explore DDD
Рет қаралды 17 М.
Polly want a message Sandi Metz
40:32
Sandi Metz
Рет қаралды 20 М.
RailsConf 2015 - Nothing is Something
35:53
Confreaks
Рет қаралды 74 М.
How much charging is in your phone right now? 📱➡️ 🔋VS 🪫
0:11
Apple watch hidden camera
0:34
_vector_
Рет қаралды 51 МЛН
Как я сделал домашний кинотеатр
0:41
RICARDO
Рет қаралды 1,5 МЛН
How Neuralink Works 🧠
0:28
Zack D. Films
Рет қаралды 32 МЛН
ПРОБЛЕМА МЕХАНИЧЕСКИХ КЛАВИАТУР!🤬
0:59
Корнеич
Рет қаралды 3,4 МЛН
The power button can never be pressed!!
0:57
Maker Y
Рет қаралды 54 МЛН