Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Write S.O.L.I.D code
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yoan
June 13, 2017
How-to & DIY
2
2.5k
Write S.O.L.I.D code
Learn how to write Object Oriented S.O.L.I.D code
Yoan
June 13, 2017
Tweet
Share
More Decks by Yoan
See All by Yoan
L'artisanat logiciel à l'heure du numérique responsable
thirion
0
91
Clean Code du point de vue de la cognition
thirion
0
180
Agile Tech Coaching - The Missing Piece Of Your Organization
thirion
1
130
Cultiver l'intelligence collective à l'heure de ChatGPT
thirion
0
130
Clean Code from the Cognition Point of View
thirion
2
190
Xanpan - une méthode agile hybride centrée sur l'équipe
thirion
0
200
Les aventures d'un facilitateur au pays des techs - Agile Grenoble 2023
thirion
0
140
Clean Code du point de vue de la cognition
thirion
1
270
Les aventures d'un facilitateur au pays des techs - Agile Tour Lausanne 2022
thirion
0
200
Other Decks in How-to & DIY
See All in How-to & DIY
個人制作コンテンツの多言語展開のノウハウを全公開! 〜世界に自分を発信しよう!〜
syotasasaki593876
0
140
終わりのない会議を超えて:HolacracyのTactical Meetingを体験しよう!
andrearc
0
170
EmbeddingGemmaをDifyから使いたいけどAPI経由はつまらん #iotlt #gemma #dify
n0bisuke2
0
140
5年間ぐらい、 スプリントレトロスペクティブは、 「+/Δ」しかしてないので、 あらためて良いのか悪いか考えてみる / Doing Plus Delta for about five years
camel_404
1
310
地方カンファレンスのスタッフしてて思うこと
yumechi
0
170
ネガティブをねじ伏せ、n=1のキャリアに変える技術
subroh0508
1
1.1k
スイングやカードをいい感じに立てるスタンドの話
niccolli
1
400
2025版 鯖落ちパーツで安価に機械学習用マシンを作ってみる
bobfromjapan
0
580
JAWS-UG Fukuoka - AWS re:Invent 2024 re:Cap AWS Community Perspective
awsjcpm
2
230
人を補助するAI ~AIとの壁打ちがきっかけになる~ #共創AIミートアップ
ishikiemo
0
530
バッドプラクティスから学ぶハワイアン航空で行く re:Invent
kentosuzuki
0
460
ボードゲーム × 専用収納 〜3Dプリントで埋めるニッチな隙間〜 / Board Games × Custom Storage
handlename
0
180
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Chasing Engaging Ingredients in Design
codingconduct
0
110
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
The Curious Case for Waylosing
cassininazir
0
230
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
99
Building AI with AI
inesmontani
PRO
1
690
Between Models and Reality
mayunak
1
190
Balancing Empowerment & Direction
lara
5
890
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Transcript
@yot88 By yoan thirion S.O.L.I.D principles
@yot88 bad code / Good code Bad code vs Good
code Categorize each piece of code
None
@yot88 Singleton Tight Coupling Untestability Premature Optimization Indescriptive Naming Duplication
Single Responsibility Open/Closed Principle Liskov Substitution Interface Segregation Dependency Inversion Patterns and anti-patterns
@yot88 SRP A class should have only 1 responsibility
@yot88 Software entities should be open for extension, but closed
for modification. Open closed
@yot88 Subtypes must be substitutable for their base types. Liskov
substitution
@yot88 Clients should not be forced to depend on methods
that they do not use. Interface segregation
@yot88 High level modules should not depend on low level
modules : both should depend on abstractions. DI
@yot88 Good code / bad code Align each piece of
code with a S.O.L.I.D principle
1 3 3 1 3 16 13 2 4 14
15 6 8 9 12 5 10 11
3 13 16 1 3 16 13 2 4 14
15 6 8 9 12 5 10 11
3 4 2 1 3 16 13 2 4 14
15 6 8 9 12 5 10 11
3 15 14 1 3 16 13 2 4 14
15 6 8 9 12 5 10 11
3 8 6 1 3 16 13 2 4 14
15 6 8 9 12 5 10 11
3 11 9 1 3 16 13 2 4 14
15 6 8 9 12 5 10 11
3 10 5 1 3 16 13 2 4 14
15 6 8 9 12 5 10 11
12 1 3 16 13 2 4 14 15 6
8 9 12 5 10 11
1 3 16 13 2 4 14 15 6 8
9 12 5 10 11
@yot88 Let’s refactor using s.O.L.I.D
@yot88 exercises Practice S.O.L.I.D principles on code examples Clone the
repository at : https://github.com/ythirion/solid-kata Foreach code example : • identify why it’s breaking the given principle • Write down your refactoring strategy • Refactor it
@yot88 Where do you stand ? No quite yet On
the way Ready to roll