La conception émergente
L'art de coder sans savoir où l'on va ?
Fabricant français de
chaudières écologiques
Conception ?
Activité de l’esprit en vue de la compréhension ou de l’élaboration de quelque chose.
Jouons !
https://azeau.com/atbdx2019/
-
joueurs
Quand je reçois la balle, je l'envoie à Bob
Quand je reçois la balle, je l'envoie au robot qui est en face de moi
Quand je reçois la balle, je l'envoie à Claire
Quand je reçois la balle, je l'envoie au robot qui est à droite de moi
Quand je reçois la balle, je l'envoie à David
Quand je reçois la balle, je l'envoie au robot qui est à gauche de moi
Quand je reçois la balle, je l'envoie à Eve
Quand je reçois la balle, je l'envoie au robot qui est à droite de moi
Quand je reçois la balle, je l'envoie à Fred
Quand je reçois la balle, je l'envoie au robot qui est à droite de moi
Quand je reçois la balle, je l'envoie à Alice
Quand je reçois la balle, je l'envoie au robot qui est à droite de moi
Meilleur score possible : 11
Pire score possible : 24
Que peut-on tirer de tout ça ?
Démarrer ?
Quand je reçois la balle, je l'envoie à Bob
--
Quand je reçois la balle, je l'envoie au robot qui est en face de moi
--
https://www.xkcd.com/974/
https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html
YAGNI
You Ain't Gonna Need It
"Decide as late as possible"
http://www.xm1math.net/algobox/
http://hackles.org/cgi-bin/archives.pl?request=37
Quand je reçois la balle, je l'envoie au robot qui est à droite de moi
David
Eve
Fred
--
--
--
"Three strikes and you refactor"
17 points
14 points
"Simple Design"
Tous les tests passent.
Exprime toutes les intentions.
Pas de duplication.
Nombre minimal d'éléments.
11 points
Deviner le futur ?
Quand je reçois la balle, je l'envoie au robot qui est à droite de moi
--
Quand je reçois la balle, je l'envoie au robot qui est à gauche de moi
--
"Dessin à l'équerre"
Métaphore
"Domain Driven Design"
http://dddcommunity.org/
"Clean Architecture"
"Abstraction Metalinguistique"
https://mitpress.mit.edu/sites/default/files/sicp/
Language Oriented Programming
"What's Not Going to Change in the Next 10 Years ?"
TL;DL
Coder des comportements spécifiques
Simplifier pour révéler les intentions
Découvrir la métaphore
"Try treating programming as a learning activity that throws off running code as a byproduct"
1999-2019
https://softwareball.mnt.space/