Help us caption & translate this video! amara.org/v/GUQO/
Пікірлер: 52
@edgeeffect2 жыл бұрын
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!
@jcookfl7 жыл бұрын
Very nice presentation. Sandi is highly skilled and very articulate. She's a real credit to our profession.
@diogolsq52958 ай бұрын
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.
@winterheat8 жыл бұрын
Sandi has done Smalltalk for 10 years... no wonder her OOP is good
@ChrisAthanas11 ай бұрын
This is not oop
@user-ph4zo2sr5v5 жыл бұрын
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.
@andresbernal9704 жыл бұрын
Wow it's give me clear understanding about SOLID. Thx Sandi Metz!
@ChrisAthanas11 ай бұрын
This is all a confused mess
@MarkJones8 жыл бұрын
The slides are @ skmetz.home.mindspring.com/img28.html
@StefanWelker Жыл бұрын
This principle leads you from an easy to understand specific app to a difficult to understand generic one
@ChrisAthanas11 ай бұрын
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
@13odman5 жыл бұрын
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-ph4zo2sr5v5 жыл бұрын
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.
@13odman5 жыл бұрын
Damien R yeah, upon reflection , I agree
@danflemming35533 жыл бұрын
Who's the "well known website which had to refactor all the Ruby code" at 44:46 which Sandi mentions? :)
@kpisgod2 жыл бұрын
twitter, they moved out of ruby blaming ruby is slow.
@MIIIG4 жыл бұрын
Does it Yahuda with was in camera?
@rysw199 жыл бұрын
Nice talk. One rub is that the Config class is too general. Its implementation might as well be a hash.
@ArnaudMEURET4 жыл бұрын
Definitely. Meta programming of config management meta configured in same file? Over engineering.
@sasukesarutobi38624 жыл бұрын
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.
@davidrothschild56963 жыл бұрын
Does anyone have a link to the code she references? The mindspring link doesn't seem to work for me.
@kevin9458 Жыл бұрын
She shows it in the slides. She talks about the shared link because some people in the room couldn´t see the slides.
@bahmani004 жыл бұрын
10:58 the final goal is having maintainable code
@ChrisAthanas11 ай бұрын
The final goal is ease if change Maintenance is due to design flaws not allowing ease of change
@ChrisAthanas11 ай бұрын
And this stuff just moves away from that goal
@MrFedX4 жыл бұрын
Amazing talk!
@ChrisAthanas11 ай бұрын
Why
@ChrisAthanas11 ай бұрын
Recompiling isn’t a problem tho lol 12:04
@webcoderph6 жыл бұрын
anyone has the source code of this talk? thanks
@davidko9789 жыл бұрын
Does anyone know which company Sandi is talking about at: kzbin.info/www/bejne/rF6VqnmDr92krbc
@GerardCaulfield7 жыл бұрын
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.
@davidko9787 жыл бұрын
Hah right, more lile "replace"?
@ChrisAthanas11 ай бұрын
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.
@baernergiu4 жыл бұрын
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
@ThePandaGuitar3 жыл бұрын
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.
@ChrisAthanas11 ай бұрын
What’s great about it This all just confused things more
@ChrisAthanas11 ай бұрын
17:29 it would be way easier to write this procedurally Bad example
@vishnuprasanth47254 жыл бұрын
All these years I thought Sandy was a guy. I read her books in a male voice.
@CyberPin20014 жыл бұрын
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.
@ThePandaGuitar3 жыл бұрын
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.
@CyberPin20013 жыл бұрын
@@ThePandaGuitar - well said. It's about time more people spoke up about this stuff 👍.
@-Jason-L2 жыл бұрын
“get off my lawn!"
@alisunjaya Жыл бұрын
what is the connection between solid design and 8 bit hardware?
@StefanWelker Жыл бұрын
@@alisunjaya main point is this is not solid design at all
@adabujiki Жыл бұрын
Lol you can tell this woman is into some weird stuff in the bedroom
@jonathan4835 Жыл бұрын
What, like refactoring?
@ChrisAthanas11 ай бұрын
@@jonathan4835lol Confusing things to the point of irrelevance