GORUCO 2009 - SOLID Object-Oriented Design by Sandi Metz

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

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 9 ай бұрын
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.
@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
@winterheat
@winterheat 8 жыл бұрын
Sandi has done Smalltalk for 10 years... no wonder her OOP is good
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
This is not oop
@andresbernal970
@andresbernal970 4 жыл бұрын
Wow it's give me clear understanding about SOLID. Thx Sandi Metz!
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
This is all a confused mess
@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.
@MIIIG
@MIIIG 4 жыл бұрын
Does it Yahuda with was in camera?
@MarkJones
@MarkJones 8 жыл бұрын
The slides are @ skmetz.home.mindspring.com/img28.html
@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.
@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
@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.
@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.
@MrFedX
@MrFedX 4 жыл бұрын
Amazing talk!
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
Why
@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
@webcoderph
@webcoderph 6 жыл бұрын
anyone has the source code of this talk? thanks
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
Recompiling isn’t a problem tho lol 12:04
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
26:44 ugh totally procedural code here No Alan Kay ideas anywhere This is just C++ in Ruby, and confusing
@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 ай бұрын
17:29 it would be way easier to write this procedurally Bad example
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
@vishnuprasanth4725
@vishnuprasanth4725 4 жыл бұрын
All these years I thought Sandy was a guy. I read her books in a male voice.
@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
@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
RailsConf 2015 - Nothing is Something
35:53
Confreaks
Рет қаралды 29 М.
Polly want a message Sandi Metz
40:32
Sandi Metz
Рет қаралды 20 М.
Они убрались очень быстро!
00:40
Аришнев
Рет қаралды 1,4 МЛН
100❤️
00:20
Nonomen ノノメン
Рет қаралды 62 МЛН
RubyConf 2009 - SOLID Ruby by: Jim Weirich
46:19
Confreaks
Рет қаралды 9 М.
RailsConf 2014 - All the Little Things by Sandi Metz
38:47
Confreaks
Рет қаралды 169 М.
SOLID Principles in Ruby by Jim Weirich --  [RESTORED QUALITY]
46:00
RailsConf 2016 - Get a Whiff of This by Sandi Metz
38:15
Confreaks
Рет қаралды 48 М.
Baruco 2013: Rules, by Sandi Metz
35:28
Barcelona Ruby Conference
Рет қаралды 29 М.
Выложил СВОЙ АЙФОН НА АВИТО #shorts
0:42
Дмитрий Левандовский
Рет қаралды 1,9 МЛН
😱НОУТБУК СОСЕДКИ😱
0:30
OMG DEN
Рет қаралды 3,3 МЛН
Дени против умной колонки😁
0:40
Deni & Mani
Рет қаралды 10 МЛН
Xiaomi Note 13 Pro по безумной цене в России
0:43
Простые Технологии
Рет қаралды 2,1 МЛН
Main filter..
0:15
CikoYt
Рет қаралды 1,3 МЛН
Урна с айфонами!
0:30
По ту сторону Гугла
Рет қаралды 945 М.