đ Git est un bon outil, mais le nombre dâappels Ă lâaide sur StackOverflow prouvent que son design est affreux. Deux chercheurs du MIT nous expliquent oĂč le bĂąt blesse Ă lâaide des techniques de design conceptuel.
đ Quiconque a pratiquĂ© un peu connaĂźt les dĂ©fauts de git : difficile de changer de branche avec du travail en cours, de crĂ©er des variations locales sans les commiter, de comprendre lâĂ©tat de tĂȘte dĂ©tachĂ©e, etc. Pourquoi ? Car une rĂ©gle fondamentale du design a Ă©tĂ© violĂ©e par git : la bijection concept/motif.
đ Un concept est quelque chose que lâutilisateur doit comprendre pour utiliser un logiciel. Dans un bon design, chaque concept rĂšgle un problĂšme, que lâon nomme son motif.
đ Un concept sans motif est une complexitĂ© inutile.
đ Un concept qui prĂ©tend rĂ©gler plusieurs problĂšmes bĂącle souvent les deux.
đ Un problĂšme qui nâest le motif dâaucun concept rend le logiciel incomplet.
đ Un problĂšme qui motive plusieurs concepts créé la confusion.
4ïžâŁ Git possĂšde ces 4 catĂ©gories de dĂ©fauts, analysĂ©s dans le papier. Il constitue une vraie leçon de design qui devrait ĂȘtre enseignĂ©e dans les Ă©coles.
đ Les auteurs poursuivent en proposant Ă des utilisateur de tous niveaux de git lâessai de Gitless, un fork de Git respectant les canons du design conceptuel. Les rĂ©sultats en matiĂšre de prise en main sont bien meilleurs.
SOURCE
Santiago Perez De Rosso and Daniel Jackson. 2016. Purposes, concepts, misfits, and a redesign of git. SIGPLAN Not. 51, 10 (October 2016), 292â310. DOI:10.1145/3022671.2984018
Enzo Sandré
đ Lien public DOIs: 10.1145/2983990.2984018