Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Write S.O.L.I.D code
Search
Yoan
June 13, 2017
How-to & DIY
2.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Write S.O.L.I.D code
Learn how to write Object Oriented S.O.L.I.D code
Yoan
June 13, 2017
More Decks by Yoan
See All by Yoan
Coder sans se noyer dans la complexité
thirion
0
200
L'artisanat logiciel à l'heure du numérique responsable
thirion
0
190
Clean Code du point de vue de la cognition
thirion
0
240
Agile Tech Coaching - The Missing Piece Of Your Organization
thirion
1
180
Cultiver l'intelligence collective à l'heure de ChatGPT
thirion
0
200
Clean Code from the Cognition Point of View
thirion
2
270
Xanpan - une méthode agile hybride centrée sur l'équipe
thirion
0
270
Les aventures d'un facilitateur au pays des techs - Agile Grenoble 2023
thirion
0
190
Clean Code du point de vue de la cognition
thirion
1
330
Other Decks in How-to & DIY
See All in How-to & DIY
終わりのない会議を超えて:HolacracyのTactical Meetingを体験しよう!
andrearc
0
500
5年間ぐらい、 スプリントレトロスペクティブは、 「+/Δ」しかしてないので、 あらためて良いのか悪いか考えてみる / Doing Plus Delta for about five years
camel_404
1
510
なぜISPでオリジナルカードゲームを作ったのか?制作者と対談 - NIFTY Tech Talk #25
niftycorp
PRO
0
140
Burnoutとの「対話」 〜 アジャイルコーチングを活用した、燃え尽き症候群を克服するスキル 〜 / Dialogue with Burnout by Using Agile Coaching Skills
hageyahhoo
0
1.2k
M5StickS3触ってXiaoZhiAI触ってみた #にぼし香 #iotlt
n0bisuke2
0
320
放っておくと怖い睡眠負債について/fjordbootcamp-251122
yuukago
3
380
EjecTea 2026 / 20260228-osc26tk-ejectea
akkiesoft
0
1.1k
キャリア科目では教えてくれない、就活を生き抜く法則
logica0419
2
330
ミニ四駆でト技会ミニカーバトルに参戦?
covao
0
120
JAWS SONIC 2026 オンラインでつながり、オフラインで会おう! - JAWS-UG北陸新幹線で始まった支部とコラボ
pharaohkj
1
360
EmbeddingGemmaをDifyから使いたいけどAPI経由はつまらん #iotlt #gemma #dify
n0bisuke2
0
240
파이썬 토룡신점 운영후기
lqez
0
590
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Prompt Engineering for Job Search
mfonobong
0
500
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
940
Statistics for Hackers
jakevdp
799
230k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
590
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
350
BBQ
matthewcrist
90
10k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
Done Done
chrislema
187
17k
The SEO Collaboration Effect
kristinabergwall1
1
590
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
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