đ Nous sommes taillĂ©s pour apprĂ©hender et utiliser des concepts depuis notre enfance. Quoi de plus naturel que dâen retrouver aussi dans les logiciels. Ils aident le dĂ©veloppeur Ă se retrouver dans son code, mais surtout, ils permettent Ă lâutilisateur de comprendre le potentiel du logiciel quâil utilise.
đĄ Tweets et Hashtags sur Twitter, Corbeille et FenĂȘtres sous Windows, Instance et Equipement sur World of Warcraft. Un logiciel qui rĂ©ussit expose des concepts clairs.
đ Un excellent logiciel nâa mĂȘme pas besoin dâun manuel pour vous les amener. Ce que lâon nomme Game Design dans les jeux vidĂ©os existe tout aussi bien dans les autres formes de logiciels, et mĂȘme dans la vie courante : sâil vous faut un manuel pour prendre lâascenseur, son concepteur a Ă©chouĂ©.
đŁ A lâinverse, il est possible de dĂ©finir la complexitĂ© dâun design comme suit : un systĂšme oĂč les actions de lâutilisateur ont des effets directs quâil ne peut pas voir et des effets indirects quâil ne pourra pas anticiper.
1ïžâŁ Pour atteindre la simplicitĂ©, il faut que chaque concept soit liĂ© Ă un et un seul problĂšme appelĂ© son motif. Chaque motif doit quant Ă lui ĂȘtre adressĂ© par un et un seul concept pour ne pas crĂ©er la confusion.
đ Un exemple de cette logique est expliquĂ© dans un autre papier co-Ă©crit par le mĂȘme auteur : Purposes, concepts, misfits, and a redesign of git.
SOURCE
Jackson, Daniel. âTowards a theory of conceptual design for software.â 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!) (2015): n. pag. DOI: 10.1145/2814228.2814248
Enzo Sandré
DOIs: 10.1145/2814228.2814248