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
190
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
190
Clean Code from the Cognition Point of View
thirion
2
260
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
AWS Summit Japan 2025 個人的参加レポート
midnight480
0
510
JAWS-UG/AWS Community Update
awsjcpm
0
320
大量のiOSシミュレータにアプリをインストールする
gurrium
0
180
LT#9 非線形な物理現象に基づく真性乱数生成器の構築と、暗号学的エントロピー密度の定量的評価について
sakopon
0
140
Azure PortalのQoLを上げてたら Big Techに怒られた
horihiro
2
650
ネガティブをねじ伏せ、n=1のキャリアに変える技術
subroh0508
1
1.2k
放っておくと怖い睡眠負債について/fjordbootcamp-251122
yuukago
3
370
What $10 Fake AirPods and a $30 Chip Decap Reveal About China's Semiconductors
takasumasakazu
0
140
EjecTea 2026 / 20260228-osc26tk-ejectea
akkiesoft
0
1k
エッジAIでBBQの肉の焼き加減判定をやってみた #iotlt #seeed
n0bisuke2
2
370
とある地方技術勉強会に集うエンジニアたちのこれまでとこれから
pharaohkj
1
220
251011「ひとりより、みんなで!」 九州の支部で始めた、新しい連携のかたち
east_takumi
2
190
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Navigating Team Friction
lara
192
16k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
560
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
280
Marketing to machines
jonoalderson
1
5.8k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
460
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
550
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