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
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
170
L'artisanat logiciel à l'heure du numérique responsable
thirion
0
170
Clean Code du point de vue de la cognition
thirion
0
230
Agile Tech Coaching - The Missing Piece Of Your Organization
thirion
1
170
Cultiver l'intelligence collective à l'heure de ChatGPT
thirion
0
180
Clean Code from the Cognition Point of View
thirion
2
250
Xanpan - une méthode agile hybride centrée sur l'équipe
thirion
0
260
Les aventures d'un facilitateur au pays des techs - Agile Grenoble 2023
thirion
0
180
Clean Code du point de vue de la cognition
thirion
1
320
Other Decks in How-to & DIY
See All in How-to & DIY
OSSコミュニティがくれた「人との繋がり」
tanahiro2010
2
390
EXPO 2025 大屋根リングをぐるっと周回! 【GPSマルチユニット×ソラカメ実験】
scbc1167
0
150
エッジで動くNode-REDを作る実験 #noderedjp #noderedcon
n0bisuke2
0
630
なぜISPでオリジナルカードゲームを作ったのか?制作者と対談 - NIFTY Tech Talk #25
niftycorp
PRO
0
120
JAWS-UG/AWS Community Update - 2026/6/13 JAWS-UG TOHOKU 仙台
awsjcpm
0
1.3k
JAWS-UG/AWS Community Update 2026年6月20日JAWS-UG FUKUOKA #26 JAWS DAYS 2026 re:Cap! おつかれせいけしろー
awsjcpm
0
120
JAWS-UG/AWSコミュニティプログラムのご紹介 - JAWS-UG 佐賀
awsjcpm
2
280
MustをWillに変える技術 〜アイドル・郁田はるきが"すべき"の壁を超えるまで〜
subroh0508
1
2k
Node-REDでセンサーなどから起動させるカメラノードを作ったよ IoTLT vol123 #iotlt
n0bisuke2
0
170
献立を支える技術
godan
1
110
私の ダイエット トレーナー AIさんから 自己紹介が あります
itsukiisamu
0
140
個人制作コンテンツの多言語展開のノウハウを全公開! 〜世界に自分を発信しよう!〜
syotasasaki593876
0
210
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
460
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Odyssey Design
rkendrick25
PRO
2
760
Facilitating Awesome Meetings
lara
57
7.1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The browser strikes back
jonoalderson
0
1.5k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
430
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
350
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
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