The Programmer Brain

Teaser

Felienne Hermans s’est questionné sur nos compétences en lecture de code et a fait le constat que nous apprenons surtout à écrire du code, mais fort peu à le lire.

Elle a donc engagé des recherches dans ce domaine et elle nous livre ici le résultat de ces recherches. Elle nous donne de belles pistes de réflexion et d’amélioration dans ce domaine.

Participants

Anthony, Claude (à 18h30), Alexandre (à partir de 19h)

Matériel de lecture

Pour ceux qui ne souhaitaient pas le livre en entier, nous avions diffusé 3 extraits choisis.

Cette idée nous est venue lors de notre participation à Agile Adour. Nous avions suivi une session de Cécile qui animait des discussions à partir d’extraits de livres.

-> Pour en savoir plus, voir son site LibLab

Les concepts du livre

Le livre de Felienne Hermans (une chercheuse américaine) est sorti en août 2021.

Il a suscité un intérêt dans la communauté Craft.

Il porte sur la compréhension du code. Il présente des techniques avec des fondations scientifiques qui peuvent améliorer radicalement la façon dont on maitrise les nouvelles technos, dont on comprend le code et mémorise la syntaxe.

Outil d’annotation

L’autrice propose un atelier de lecture de code. Il consiste en une identification et une annotation des éléments de code.

Tour de table

Jérôme

  • très intéressant ! dés le début avec l’explication du processus cognitif (charges cognitives)
  • les flashcards
  • beaucoup d’exercices dans le livre
  • un peu plus difficile d’accès pour la suite

Alexandre

  • intrigué par ce livre technique
  • lit beaucoup Gunther Anders en ce moment (exemple sur la honte par rapport à la machine)
  • ce livre le ramène à cette réflexion

Anthony

  • la notion de surcharge mentale me parle
  • utilise des notions d’autres domaines (sciences cognitives) ce qui amène une grande richesse
  • ne répond pas à la question de la maintenabilité
  • reprend les code smells mais ne s’étend pas au clean code
  • code lisible (sous composant de maintenable, avec l’évolutivité par exemple)
  • pb nouveau -> solution spécifique ; on ne passe au générique que si on rencontre plusieurs fois le problème
  • des choses à aller chercher dans le livre, des outils (au-delà des flashcards déjà connus, qui vont bien pour le LTM)
  • on a besoin du mob programming : tout seul vous avez très peu de chances d’avoir le bon nommage
  • sur le terrain, difficulté à manager la charge mentale, le livre du jour peut être utilisé en plus du mob
  • sur les bugs, corrélation d’un petit nombre avec un bon nommage (l’autrice cite des études)
  • elle donne des règles simples (un concept porté par une variable, des mots métier, mais pas trop)
  • dans XP, le nommage est basé sur la métaphore, ce qui bien est difficile à trouver (très long !)
  • j’ai commencé à pratiquer des outils proposés
  • l’autrice a créé un site pour des ateliers avec du matériel (c’est très structuré)
  • elle mentionne qu’on apprend à écrire du code, mais pas à le lire, c’est pour ça qu’elle fait des recherches sur le sujet