Crash Fatal

C'est l'histoire d'une fonction qui rencontre une variable.

Alors que la fonction s'est arrêtée au croisement de deux modules, la variable lui fait un signe du pouce.

— Vous allez dans cette direction jusqu'au Back ?
— Non je change de route après le contrôleur, mais je peux peut-être vous avancer.
— Ah, je dis pas non.

Et la variable prend place dans le scope du passager de la fonction.

— Vous allez loin comme ça ?
— Ben jusqu'au Back.
— Hmm, ça m'étonnerait que vous arriviez jusque là.
— Et pourquoi pas ?
— Je sais pas, une intuition… Si je vous demande quel âge vous avez, vous me dites quoi ?
— Que je trouve ça un peu indiscret, mais bon. 10.
— 10 secondes ?
— Millisecondes ! Vous me vexez là…
— Ok. Mettons que je vous dise : le Back, vous y serez pas avant 25 millisecondes, au moins.
— Tout ça !? C'est long ! Je serais vieille une fois arrivée !
— Justement : ça vous fera quel âge ?
— Bah 1025. C'est horriblement vieux !
— Eh mais vous n'êtes pas du tout mon type en fait !

Et la fonction s'étant tournée vers la variable pour l'invectiver, elle manque le feu qui était sur await, et une autre fonction arrivant à fond depuis la voie de droite emplafonne la fonction, la variable, et tout le reste du code.

Fin de l'histoire.

— Allo ? Oui c'est Jade. J'ai un nouveau crash… ligne 4807.
— …
— Oui je t'envoie un ticket, avec la copie d'écran oui. Oui je sais, option développeur, console javascript… À plus.

Jade est testeuse. Elle fait partie du service QA. Sa mission : trouver des problèmes dans le produit, et les communiquer d'une manière qui aide l'équipe à prendre une décision. Pour cela elle s'appuie sur ses outils, son expérience, son intuition, et ses interactions avec l'équipe. Ça c'est les jours avec. Les jours sans — et on dirait que sur ce projet, il y a surtout des jours sans — elle est plutôt occupée à ramasser des carcasses de fonctions.

Un jour, ce même développeur qu'elle vient d'avoir au téléphone lui a demandé :
— Est-ce que tu fais des tests manuels parce que tu ne sais pas coder des scripts ? On peut t'apprendre.
— Je sais coder. Je fais des tests manuels surtout parce que je ne sais pas exactement à l'avance où il faut investir le plus de temps. Ça s'appelle du test exploratoire. Et d'après mes observations, c'est plutôt toi qui ne sait pas coder. (Bon OK cette dernière phrase elle ne l'a pas dite. Mais avouez qu'elle aurait pu).

L'ennui, pour Jade, c'est que son équipe investit trop peu dans la prévention des défauts, i.e identifier les défauts avant que ceux-ci ne créent des problèmes.

Exemples de pratiques de prévention :

  • langage fortement typé 🙄
  • revues de code
  • TDD, vérifications automatisées
  • etc.

Toujours ce même développeur :
— Au moins ça te donne du travail.
— Non ! Ça m'empêche de faire mon travail, qui est de trouver les problèmes les plus importants !
— Ah oui… Mais alors, qui les trouve ces problèmes plus importants ? — À ton avis ?

À votre avis ?

publié sur Linked In le 20/04/2023