PHP Pragmatic
Development
@FredBouchery
joind.in/talk/bdcc1
BDCC1
Pragmatisme
« Qui favorise la pratique et l’expérience »
Niveau de
conception
Expérience
Pragmatisme
Jeune c##
Imposteur Vieux c## (?)
Confiance
CompétenceDébutant Expert
Sur-évaluation
Sous-évaluation
Consolidation
« L’ignorant affirme,
le savant doute
et le sage réfléchit »
– Aristote
Pourquoi on structure
notre code ?
On code pour les autres
(accessoirement pour soi-même)
« N'importe quel imbécile peut écrire du code
qu'un ordinateur peut comprendre.
Les bons programmeurs écrivent du code
que les humains peuvent comprendre. »
– Martin Fowler
« Le code, c’est comme les blagues,
si on doit l’expliquer,
c’est qu’il est mauvais !»
– Cory House
SOLID
DRY
Demeter law
Calistenic
East-Oriented
Design
Pattern
Hollywood
Principle
Else-less
Comment-less
DDD
TDD
KISS
YAGNI
TU
CI
AOP
OOP
Immutable
Strict-typed
Cyclomatic
complexity
Dependency
Injection
Design by
contract
Fail fast
Defensive
programming
Loose
coupling
High
Cohesion
Composition
over
Inheritance
CQRS
Bug
Design
DX
Design
YAGNI
SELECT … WHERE tsrange @> now()::timestamp
Valeur Choix 1 Choix 2 Choix X
Maîtrisé par l’équipe 10 1 5 2
Débogue facile 6 4 2 1
Peu de dépendances 2 1 4 1
Peu de code 3 2 1 4
... ... ... ... ...
Total 71 124 51
DDD
Procédurale ️️️️️⭐️⭐️⭐️⭐️⭐️
POO ⭐️⭐️⭐
DDD ⭐️⭐️
AOP ⭐️
Event programming ⭐️⭐️⭐
CQRS ⭐️⭐️
DRY
WET
Pas d’abstraction, c’est
toujours mieux qu’une
mauvaise abstraction
AHA !
KISS
« Ces lois ne sont pas différentes de
celles de n'importe quel autre système,
il y en a qu'on peut enfreindre et
d'autres qu'on peut violer.»
– Morpheus
Pragmatisme
« Qui favorise la pratique et l’expérience »
less code
more brain
no hasty
no dogma
Sources des images : pexels.com, pixabay.com, Skitterphoto, Audi©, Peugeot©
Merci
joind.in/talk/bdcc1
BDCC1
app.klaxoon.com
A6P3QR

PHP Pragmatic Development