Faut que ton code soit si clair que même ta mère le comprenne !

Une petite semaine après ma participation au Women Tech Makers à Paris, et une conférence très enrichissante de Berthilde Goupy sur les biais inconscients, j’avais envie de revenir sur certains des principes évoqués.

Ma mère, c’est qui déjà ? Une retraitée, la cinquantaine passée, coulant de paisibles journées au soleil. Autant dire que dit comme ça, faire un code assez clair pour que même ma mère le comprenne, dans mon quotidien de développeur Android, ça s’annonce compliqué.

Challenge accepted

Mais bon, je vais me prêter à l’exercice, comment expliquer à une ménagère de plus de cinquante ans ce que représente mon code. Je crois que ça aurait été plus simple avec un militaire, déjà d’homme à homme, on se serait compris.

Militaire

Ayant en plus moi même été militaire, j’aurais trouvé un parallèle à faire entre les schémas de conception d’une arme, qui expliquent comment l’arme fonctionne, et que ce sont ces schémas qui permettent de produire le résultat final, à savoir une arme. Et que, de la même façon, mon code décrit trait pour trait ce qui sera produit comme résultat final, à savoir l’explication.

Mais je m’égare, car c’est bien à ma mère, une retraitée de plus de cinquante ans. Et oui, le challenge s’annonce bien compliqué.

Bon, alors, on fait comment. Pas très facile… Je suis sûr que si vous vous mettez à ma place, vous aussi vous trouverez l’exercice difficile. Ci-dessous, je vous donne la solution, celle qui fonctionnera forcément, et qui fera que ma mère, cette femme de cinquante ans passé, comprendra en un instant l’intégralité de mon code. Allez, je vous fais même un spoiler, je vais être capable également de lui expliquer comment sont structurées les données stockées dans l’application de sorte qu’elle comprenne tout.

Vraiment, jouez le jeu. Et essayez de deviner comment je pourrais faire…

Enigme

La solution

La solution, elle est très simple, à aucun moment je n’ai menti dans l’énoncé ci-dessus. L’intégralité de ce que j’ai dit est véridique, et ce qui suit l’est tout autant. Et si vous étiez à ma place, mais vraiment à ma place, vous sauriez que l’exercice n’a rien d’insurmontable.

Pour que ma mère comprenne mon code, il suffit que je développe intégralement mon application en utilisant le NDK afin que tout soit codé en C. Puis de lui présenter un diagramme UML pour qu’elle comprenne la manière dont sont stockées les données dans l’application.

Pardon, je ne vous ai pas tout dit. Ma mère, militaire de carrière, est entrée à l’armée au début des années 80 pour finir capitaine avant son départ à la retraite à la fin des années 2000. Donc elle connaît très bien les armes, sait comment les démonter, tirer avec et comment elles sont conçues. Donc l’explication avec le parallèle sur les armes, ma mère aurait pu tout à fait l’entendre et la comprendre.

Mais bon, être militaire ne se résume pas à faire la guerre et tirer avec une arme. S’il est vrai que tous les militaires (ou presque) font régulièrement du tir et du sport, la variété des métiers est grande.

Ma mère est rentrée à l’armée au début des années 1980 comme analyste programmeur. Elle a d’abord appris à développer en C, puis en assembleur. Puis dans les années 2000, elle décide de passer ingénieure (ce sont ces cours que je relisais qui m’ont permis de m’initier et de me passionner pour le développement, et ses explications qui m’ont permis de comprendre les concepts de programmation orientée objet à l’âge de 13 ans). Une fois ingénieure, elle a terminé sa carrière en tant que DBA au sein de l’armée.

Elle m’a pas mal de fois conseillé lorsque j’étais développeur Web et que je devais optimiser ma base de données pour améliorer le temps de réponse d’une requête.

Bon, comme personne n’est parfait, ma mère ne faisant pas exception, elle n’a jamais été capable ni de se mettre, ni de comprendre le Java, et ce n’est pas faute d’avoir essayé, d’où la nécessité de recoder l’application en C pour qu’elle la comprenne.

Morale de l’histoire

La morale de l’histoire, ce n’est pas qu’il faut arrêter de dire « Fais en sorte que ta mère comprenne ». Car cette expression s’applique à la grande majorité et il faut dire ce qui est, elle a un côté drôle qui fait sourire. Puis bon, soyons honnête, cette expression s’appliquera à la majorité de vos collègues, avoir une mère cumulant les métiers de militaire et de développeuse, fallait quand même le faire.

Non, plutôt, la morale de l’histoire, c’est que les expressions que l’on utilise ne doivent pas amener à penser d’une personne par la teneur de cette expression. Puis la prochaine fois que vous tombez sur une stackoverflow error lorsque vous développez en C, pensez à demander conseil à la vieille avec un cabas qui prend 4 heures au supermarché, vous pourriez tomber sur ma mère 🙂

P.S.

Même si j’ai souhaité à travers cet article illustrer une expression, cette histoire est totalement véridique. De plus, ma mère lisant tous les articles de mon blog, et ma mère restant ma mère, je dois encore répondre de mes actes devant elle. J’indique donc ici que l’image utilisée pour représenter ma mère dans cet article n’a aucune valeur contractuelle, ne représente en aucun cas la personne de ma mère, et n’a pour objectif que d’accentuer le préjugé développé dans cet article plus que de la représenter en personne. 🙂

Twitter
Vous avez aimé cet article ? N’hésitez pas à me suivre sur Twitter pour être informé des prochains.
Développeur Android freelance depuis Avril 2016, je partage sur mon blog aussi bien que dans des meetups.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *