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
Arrêtons de parler de code de qualité, ce qu'il...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Marek Kalnik
June 24, 2014
Programming
670
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Arrêtons de parler de code de qualité, ce qu'il faut c'est du code agile !
Marek Kalnik
June 24, 2014
More Decks by Marek Kalnik
See All by Marek Kalnik
Ma liste subjective des 10 développeurs à connaitre
marekkalnik
0
89
Le management LEAN
marekkalnik
0
79
Versioning mobile apps and apis
marekkalnik
0
99
Comment Ionic vous aide
marekkalnik
0
150
Pourquoi choisir Ionic ?
marekkalnik
0
280
Cordova vs. Steroids
marekkalnik
0
160
Code Agile - comment redéfinir la qualité
marekkalnik
2
200
Behat - retour d'expérience
marekkalnik
1
450
Write your jQuery in console
marekkalnik
0
190
Other Decks in Programming
See All in Programming
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
330
Swiftのレキシカルスコープ管理
kntkymt
0
220
Vite+ Unified Toolchain for the Web
naokihaba
0
280
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
160
JavaDoc 再入門
nagise
0
320
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
120
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
240
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
120
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
540
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
210
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
How to make the Groovebox
asonas
2
2.2k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Mind Mapping
helmedeiros
PRO
1
240
Why Our Code Smells
bkeepers
PRO
340
58k
BBQ
matthewcrist
89
10k
So, you think you're a good person
axbom
PRO
2
2.1k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
Docker and Python
trallard
47
3.9k
Transcript
Arrêtons de parler de code de qualité, ce qu'il faut
c'est du code agile ! Marek Kalnik PHPTour Lyon 2014
Je m'appelle Marek Architecte et Team Manager chez Theodo TDD
et Good Code addict @marekkalnik
comment l'écrire ? code de qualité
code de qualité, c'est ça : Hodor. Hodor? Hodor. Hodor.
Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor? Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor? Hodor! Hodor! Hodor? Hodor! Hodor? Hodor. Hodor! Hodor. Hodor. Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor? Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor? Hodor! Hodor! Hodor? Hodor! Hodor? Hodor. Hodor. Hodor. Hodor! Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor. Hodor! Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor. Hodor. Hodor? Hodor. Hodor? Hodor. Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor? Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor? Hodor! Hodor! Hodor? Hodor! Hodor? Hodor. Hodor! Hodor. Hodor. Hodor? Hodor. Hodor? Hodor. Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor? Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor? Hodor! Hodor! Hodor? Hodor! Hodor? Hodor. Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor. Hodor? Hodor. Hodor? Hodor. Hodor? Hodor. Hodor? Hodor. Hodor! Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor. Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor. Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor. Hodor. Hodor? Hodor. Hodor? Hodor. Hodor. Hodor! Hodor.
on sait comment l'écrire This is extremely dirty code. Sorry
for the inconvenience but the client don't want us to make it clean. This is my worst commit ever, I do not endorse this but I'm forced.
comment le vendre ? code de qualité
comment nous nous voyons
comment nous voient nos clients
la réalité
les clients achètent du...
Prestashop ? les clients achètent du... phpmd : The method
indexProductPrices() has an NPath complexity of 2 117 035 203.
Wordpress ? les clients achètent du... phpmd : wordpress/wp-includes/query.php:2149 The
method get_posts() has an NPath complexity of 107 489 719 299 364 984 418 938 035 070 419 110 614 196 551 680 000
Baremetrics.io 2 months after start – rebuild from scratch Result
: doubled MRR
des très beaux projets !
est-elle inutile ? la qualité
est-elle bien définie ? la qualité
None
Qu'est-ce qui est vraiment important ?
The fast eat the slow
Agile
Notre plus haute priorité est de satisfaire le client en
livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.
Un logiciel opérationnel est la principale mesure d’avancement.
Accueillez positivement les changements de besoins, même tard dans le
projet.
La simplicité – c’est-à-dire l’art de minimiser la quantité de
travail inutile – est essentielle.
La charte du Code Agile a une grande valeur ajouté
est livré rapidement et régulièrement est opérationnel s'adapte aux changements de besoins minimise la quantité de travail inutile
La charte du Code Agile a une grande valeur ajouté
est livré rapidement et régulièrement est opérationnel s'adapte aux changements de besoins minimise la quantité de travail inutile
valeur Clean Code Dirty Code Good Business Value Excellent Code
Good Code Poor Business Value Bad Code Garbage Code Anthony Ferrara : Beyond Clean Code
succès orienté utilisateur analytics ! valeur
définir le succès au début du projet valeur
faire des ateliers utilisateur réguliers UserVoice sur chaque site valeur
toujours avoir des analytics le CA est aussi un indicateur
valeur
déploiement des tests qui permettent de limiter les risques
déploiement définir le DONE en prod
ops monitoring devops philosophy
ops You built it, you run it
C'est en modifiant son code qu'on apprend si notre design
est bon. Martin Fowler #isTDDDead évolution
Refactor early, refactor often. évolution
évolution Agile Data DDD Code review
coder vite KISS – n'adressez pas des besoins qui n'existent
pas !
coder vite Tuez rapidement les fonctionnalités qui ne servent plus
coder vite DRY – mais pas trop DRY
Ça fait beaucoup !
None
http://goo.gl/Bhs6RM
Et après ?
Créez la confiance
Orientez la qualité vers vos objectifs
Merci ! Questions ? @marekkalnik