Core Design Principles for Software Developers by Venkat Subramaniam

  Рет қаралды 381,839

Devoxx

Devoxx

Күн бұрын

Please subscribe to our KZbin channel @ bit.ly/devoxx-...
Like us on Facebook @ / devoxxcom
Follow us on Twitter @ / devoxx
Writing code is easy. Writing good quality code is an entirely different story. How can we measure quality of design? How do we know we're doing the right set of things that will leads us to a better design? In this session we will learn about some core software design principles that help programmers everyday. Instead of talking about theory and what we could potentially do, we will take on multiple examples, discuss the solution, pros and cons, and bring out key design principles that have an impact on the outcome.

Пікірлер: 175
@kookoon
@kookoon 7 жыл бұрын
this guy is so funny and easy to listen to, i would listen to him forever.
@crabsynth3480
@crabsynth3480 4 жыл бұрын
Its been 3 years since i first came across this video, I watch it once a month atleast ever since... everytime i watch it, i learn something new.... right now i spent an entire week coding along and understanding the intricacies of the topics, tracking my code at all levels across all the various layers... and my oh my its been a fun week! I feel like ive reached Enlightenment... and the best part is there is still so much more to learn. Venkat... you are my Hero! Kudos !
@TripAndVlogs
@TripAndVlogs 2 жыл бұрын
same here
@josiahtobas9172
@josiahtobas9172 8 жыл бұрын
I've been looking for someone who teaches good design principles. He has what it takes, and I'll be viewing more of his videos.
@OneLastHike
@OneLastHike 4 жыл бұрын
I never thought I could listen to a tech talk for more than 5 minutes and not fall sleep, this is truly an art from Venkat's side that he can keep the audiance's attention and interest for as long as he is speaking... the topics that he is talking here are all valuable and true and yet extremely boring... but when he presents them, they are no longer boring..
@harialla5939
@harialla5939 7 жыл бұрын
Must watch for every Software Programmer. First time i have watched a Tech presentation like a Movie. I have become fan of you sir.
@Gordon972
@Gordon972 7 жыл бұрын
And now I am gonna create a manager class and as you would expect, manager does absolutely nothing
@sameerlangde1234
@sameerlangde1234 7 жыл бұрын
Rightly said - you can only improve your design by applying all these principles is when you retrospect - applying it while writing code the first time would be like recollecting all the rules of grammar before forming a sentence to speak. Really thankful for the videos.
@DanielSaldivarSalas
@DanielSaldivarSalas 3 жыл бұрын
I have literally been trying to understand the SOLID principles for a long time and have been having a hard time grasping my head around it. After this talk I finally understand them
@Naqashized
@Naqashized 4 жыл бұрын
Every developer shall listen this talk.there is a lot to learn from it....Chaa gaye hain Venkat bhai....
@blarvinius
@blarvinius 4 жыл бұрын
"If we don't know about a problem, let's wait untill we know more before we write code for it." Good.
@chiranjibghorai6950
@chiranjibghorai6950 7 жыл бұрын
"Coding is like violence, if it doesn't work use more of it" :D
@testamento13
@testamento13 9 жыл бұрын
Best presentation ever ^^
@reemuskumar1
@reemuskumar1 5 жыл бұрын
The presentation is very simple. But, one has to watch it over and over again to get all of it. Thanks a lot, Venkat :-)
@mohamadmawed6078
@mohamadmawed6078 5 жыл бұрын
Great talk from a truly genius developer. You are amazing as always.
@bamba2514
@bamba2514 7 жыл бұрын
what an awesome presentation
@mohitvalechay
@mohitvalechay 5 жыл бұрын
You are the real champ Venkat!...really entertaining and informative...lovely.
@ThingsInDubai
@ThingsInDubai 2 жыл бұрын
Venkat, The greatest java speaker ever !
@adrianb3507
@adrianb3507 5 жыл бұрын
Interesting video! Watched till 41:30 but i've got other things to learn atm! and will get back to this another time.
@mirageman2
@mirageman2 2 жыл бұрын
He is an excellent comedian, that is more fun to watch than any as comedy show labeled stuff I've seen so far.
@crdave1988
@crdave1988 2 жыл бұрын
What a wonderful talk. He has a great presentation skill. Talk is full with quotes which are funny and knowledgeable at same time.
@spandiar
@spandiar 4 жыл бұрын
looks like i found Venkat so late in my learning curve. what a command over the language...hats off
@GG-uz8us
@GG-uz8us 4 жыл бұрын
Never too late being a clean coder :)
@matterhart
@matterhart 5 жыл бұрын
Good explanation of when to implement 21:50
@chetankhandave1072
@chetankhandave1072 Жыл бұрын
Good design have loose coupling, but all Core Design Principles are tightly coupled with each other. If we violate one principle, others also get violated. 😄
@RiteshManTamrakar
@RiteshManTamrakar 7 жыл бұрын
DRY SOLID Presentation. Thanks!!! I will not YAGNIy it in my work anymore :)
@nO_d3N1AL
@nO_d3N1AL 8 жыл бұрын
Great presentation; although very similar to his previous ones.
@kovalski6000
@kovalski6000 7 жыл бұрын
In one word: genious :) Than You sir for sharing your knowledge with us
@mrnettek
@mrnettek 8 жыл бұрын
Love....lol...this guy is pretty funny.
@drygordspellweaver8761
@drygordspellweaver8761 2 жыл бұрын
Classes should be deep though. One layer of abstraction per class or method is adding more complexity than it resolves.
@leomak7580
@leomak7580 5 жыл бұрын
Great talk. I really like the way he thinks.
@auchan42
@auchan42 5 жыл бұрын
Still relevant in 2019
@seemasvegetariankitchen6238
@seemasvegetariankitchen6238 7 жыл бұрын
Venkat sir.. You are amazing as always
@johncenakiwi
@johncenakiwi 6 жыл бұрын
I discovered Venkat today and I am lucky I did.
@JuanGarcia-zy8yw
@JuanGarcia-zy8yw 7 жыл бұрын
i'm so thankful ,i came across your videos.
@amadoudia3297
@amadoudia3297 8 жыл бұрын
great presentation!! a lot of very good anecdote, thanks
@nyrtzi
@nyrtzi 5 жыл бұрын
It's the same with user interfaces. Familiarity isn't the same as simple. Devs often confuse a familiar-looking user interface for a simple one.
@jimihenrik11
@jimihenrik11 3 жыл бұрын
Man I would like to watch this right now. But since I am at work I need to put this on my watch later and probably forget about it.
@Moonz97
@Moonz97 7 жыл бұрын
Awesome guy. Entertaining all the way through!
@JohanZahri
@JohanZahri 8 жыл бұрын
He invented TDD 17 years ago! (Joking..:D) Loved the lecture.
@crabsynth3480
@crabsynth3480 5 жыл бұрын
Kent beck is giggling at the joke :)
@SpiritOfIndiaaa
@SpiritOfIndiaaa 8 жыл бұрын
thanks a lot Venkat sir , you rock as usual....thank you
@Vuco7
@Vuco7 2 жыл бұрын
"Coding is like a violence - if it doesn't work, use more of it" - made my day xd
@Rethe1980
@Rethe1980 4 жыл бұрын
I'm exhausted only for listening. Great talk!
@wwhill8033
@wwhill8033 5 жыл бұрын
Well Done Venkat!!!
@jalalsadeghi66
@jalalsadeghi66 7 жыл бұрын
Great presentation ,good explanation of detail of software design principles
@salih.k8939
@salih.k8939 4 жыл бұрын
I'm currently experiencing almost every single word that came out of your mouth in my internship Venkat. Wish me luck.
@_sudipidus_
@_sudipidus_ 6 жыл бұрын
1:30:10 Can ayone tell me what's the editor/tool he is using while demonstrating? It seems simple like a text editor with easy compile/debug
@jnana2306
@jnana2306 7 жыл бұрын
So nicely explained the complicated stuff
@manojsethi6040
@manojsethi6040 4 жыл бұрын
Great session... life learning... well presented man. 😇
@hamza_belmellouki
@hamza_belmellouki 4 жыл бұрын
I've laughed a lot with Venkat
@Omego2K
@Omego2K 7 жыл бұрын
I don't get it at 2:05:18 How does inheriting from A violate LSP here? The contract of using B through a reference of A remains identical. You are able to substitute B wherever A is needed without repercussion.
@Moonz97
@Moonz97 7 жыл бұрын
What I think he was trying to achieve in that example is a showcase of using composition over inheritance for *code-reuse*. He advises against using inheritance in that example because class B can substitute class A, which might not be what you were after; that's what he means by 'having a great burden'. LSP wasn't violated, it was unintentionally created.
@sanjeen2503
@sanjeen2503 2 жыл бұрын
just before that he explained a repercussion - giving a Stack to a class that expects a Vector. The Stack was treated like a Vector, which is bad.
@NikhilKumar-ry7eg
@NikhilKumar-ry7eg 2 жыл бұрын
Great talk... Thanks
@ujjwalverma5893
@ujjwalverma5893 2 жыл бұрын
This is quality content 👍
@bikejoede
@bikejoede 7 жыл бұрын
Fantastic teacher!
@bipintube2009
@bipintube2009 2 жыл бұрын
Great session...
@Holdino_
@Holdino_ 5 жыл бұрын
Where can I buy his courses?
@trinhduyhung8211
@trinhduyhung8211 3 жыл бұрын
This guy is awesome
@roboterbasteln
@roboterbasteln Жыл бұрын
1:12:48 A good code is like a joke [...] 1:13:34 And then you go home and refactor the joke -- Brilliant.
@thesud7
@thesud7 8 жыл бұрын
Anyone noticed Venkat is wearing socks? That is - as the lecture - great :D
@rahulraviprasad
@rahulraviprasad 8 жыл бұрын
20 mins into the lecture and all I am focusing on is his feet, trying to find Socks.
@liester7
@liester7 7 жыл бұрын
I've seen him speak twice at conferences and its true, he never wears shoes during his presentations.
@satishrock9621
@satishrock9621 6 жыл бұрын
You can open Shoe repair and tyre puncture shop.
@LongValleyT
@LongValleyT 8 жыл бұрын
32:28 - 32:44 ; 1:02:21 :D
@TrendRain
@TrendRain 3 жыл бұрын
24:36 is where i postponed watching this video. "I am smarter tomorrow than I am today."
@erichalim
@erichalim 5 жыл бұрын
So functional programming better than oo programming?
@StefanoColetta
@StefanoColetta 7 жыл бұрын
Awesome.
@Metamor-phosis
@Metamor-phosis 7 жыл бұрын
1:05:00 - long methods are bad... because they are hard to NAME, , I cant believe no one in that entire room called that one out
@kenichimori8533
@kenichimori8533 6 жыл бұрын
Distance presentation
@narwadikar
@narwadikar 6 жыл бұрын
good expln
@BryonLape
@BryonLape 8 жыл бұрын
If you don't comment code, but use one page of Javadoc, you are a hypocrite.
@crabsynth3480
@crabsynth3480 4 жыл бұрын
For me, Javadocs are not comments, they are created using comments... but they are a different entity. Javadocs helps us keep documentation updated and easy to manage, but normal comments get left behind when code is changed. Comments are great for low level, hands on, quick note taking but good production code should have minimum amount of comments because the design should speak for itself. No hypocrisy involved.
@lamaklumbo4303
@lamaklumbo4303 2 жыл бұрын
cool
@A09550
@A09550 7 жыл бұрын
His accent is very good, no Indian accent.
@dengan699
@dengan699 7 жыл бұрын
Phạm Hữu Bằng except his Rrrr
@crabsynth3480
@crabsynth3480 4 жыл бұрын
Actually this is the true Indian accent, very less people talk like Apu from simpsons if any... Good indian speakers always use this style of speaking. His lectures makes me feel nostalgic, reminds me of my childhood days in school.
@dengan699
@dengan699 7 жыл бұрын
funny and informative!
@sundargautambabaji
@sundargautambabaji 3 жыл бұрын
9:48
@juliarekamie
@juliarekamie 4 жыл бұрын
👍✨😊
@mallik24us
@mallik24us 3 жыл бұрын
Even after 1.5X speed , i still feel its 1X
@adipratapsinghaps
@adipratapsinghaps 3 жыл бұрын
57:40 Venkat: Who thinks long methods are great idea? Competitive Programmers: Yes. 500 lines of code all in the main(). Not just long functions but 1000 variables too. Global. Also, now while() loops. We'll use WHL(). Oh you don't know what WHL is? Oh its just a while loop in a pragma. WTF is this editorial?! This is SOLID compliant. The writer is a noob. *.Mails the editorial a "better" solution which is just the same code with everything written in the main() *
@thdoom81
@thdoom81 7 жыл бұрын
i TOTALLY don't agree on not having comments..that is just plain stupid...too much joking not enough seriousness
@JDLuke
@JDLuke 4 жыл бұрын
Comments aren't compiled, and do not (necessarily) change when the code is changed. Keep 'em sparse: Good code is self-documenting most of the time.
@crabsynth3480
@crabsynth3480 4 жыл бұрын
Its not stupid at all... you just missed the point... he is not advocating for comments to be outlawed, instead he is saying that in a good quality production code, the design should speak for itself and you should not be using comments.
@andreidei
@andreidei 3 жыл бұрын
wife implements alarm .. LOL
@abhaynath5833
@abhaynath5833 2 жыл бұрын
59:58 Do you work in hell? 😂😂😂😂
@antimojv
@antimojv 8 жыл бұрын
kzbin.info/www/bejne/op2qmIJtadqLg6s standing ovation "I know where does those method come from.... The people who wrote long methods are working now make those method long as we speak..... "
@Dennis-er8xc
@Dennis-er8xc 4 жыл бұрын
Fk he speaks continuously, for 2.5 hrs. 😬
@redbenus
@redbenus 5 жыл бұрын
Good talk, annoying voice tone
@Wasteomindy
@Wasteomindy 8 жыл бұрын
Interesting idea - to use a text editor for the presentation. You can change the slides on the fly :)
@BoHanLiao
@BoHanLiao 8 жыл бұрын
Wow, That's embarrassing when I realized that I'm violating these principles everyday until now. Thanks for this wonderful presentation!
@MusicByJC
@MusicByJC 8 жыл бұрын
Good video. Good energy in the presentation.
@kvimol
@kvimol 5 жыл бұрын
I like his statement "A good code is like a joke". This is the best explanation.
@Skiamakhos
@Skiamakhos 4 жыл бұрын
Evidently more a Bob Monkhouse fan (quick-fire 1-liners) than a Billy Connolly or Dave Allen (long, rambling stories, many digressions, punchline hits you out of nowhere & has people in the audience incapacitated from not being able to breathe for laughing).
@abdulelahaljeffery6234
@abdulelahaljeffery6234 7 жыл бұрын
even though he takes very few pauses while talking, he is still easy to follow :)
@ajaymenon6667
@ajaymenon6667 7 жыл бұрын
A nice watch after having a really bad day. :) Thanks Venkat.
@rafaelveggi
@rafaelveggi 3 жыл бұрын
This is an excellent, awesome, enlightening talk. And, also, this has got to be the loudest video of the youtube platform. Just like an AC/DC show.
@TeluguAbbi
@TeluguAbbi 4 жыл бұрын
Ego is like cholesterol. 😅
@antimojv
@antimojv 4 жыл бұрын
This what someone called "Is in God Mode": make thing simple and easy to understand
@talk2niraj
@talk2niraj 7 жыл бұрын
Great energy and great pace of presentation. Crisp explanation of various design principles. Single shop to buy all design principles. I would recommend to many.
@sanjay005
@sanjay005 6 жыл бұрын
Longest method I have seen with so many lines that even putting a single line in that method, compiler would give "code too large" error for that method.
@diogenesok
@diogenesok 6 жыл бұрын
Give this guy a cookie!
@AmNotLegend
@AmNotLegend Жыл бұрын
let go of the ego, maybe turning out a bad design; what's matter with an emotion as designing, could be a point?
@JRK_RIDES
@JRK_RIDES 8 ай бұрын
Take time to design and code 9:50 Pls 😂explain this to my product team.
@ngdinhthi
@ngdinhthi 8 жыл бұрын
Great, Thank so much !
@jaykilleen
@jaykilleen 6 жыл бұрын
Great one! Reminds me of Sandi Metz talks. Such good leadership. 10/10 would watch again and again
@_gomanish_
@_gomanish_ 4 ай бұрын
Does anyone know which editor he's using?
@enigma_387
@enigma_387 5 жыл бұрын
Superb talk. Really informative
@daverdal1
@daverdal1 7 жыл бұрын
haha, "the aliens wrote it when I was sleeping" . ahahaha
@SaudBako
@SaudBako 24 күн бұрын
Is he my lecturer or my shrink?
@ThakurArjun247
@ThakurArjun247 5 жыл бұрын
I think he is wrong at 1:59:20, Scala doesn't have restrictions on collection of base class not accepting derived classes.
@user-mr-m12312
@user-mr-m12312 7 ай бұрын
Very informative video!
JavaScript build pipelines with Gulp.js by Stefan Baumgartner
2:13:40
Twelve Ways to Make Code Suck Less by Venkat Subramaniam
1:00:44
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 3,1 МЛН
Incredible: Teacher builds airplane to teach kids behavior! #shorts
00:32
Fabiosa Stories
Рет қаралды 10 МЛН
Как подписать? 😂 #shorts
00:10
Денис Кукояка
Рет қаралды 7 МЛН
Brawl Stars Edit😈📕
00:15
Kan Andrey
Рет қаралды 55 МЛН
A Philosophy of Software Design | John Ousterhout | Talks at Google
1:01:40
Venkat Subramaniam - The Art of Simplicity @ DevConf 2017
57:38
DevConf PL
Рет қаралды 18 М.
Design Patterns Revisited in Modern Java by Venkat Subramaniam
51:30
Habits of a Highly Effective Technical Manager by Venkat Subramaniam
1:00:42
Design Microservice Architectures the Right Way
48:30
InfoQ
Рет қаралды 712 М.
Let’s Set the Records Straight
53:06
IntelliJ IDEA, a JetBrains IDE
Рет қаралды 7 М.
Code Review, you said? - Venkat Subramaniam
46:06
Developer Summit
Рет қаралды 12 М.
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 3,1 МЛН