Le refactoring c’est tout le temps, et c’est normal. (épisode 6 - pas facile)

Deux heures que Charlotte écrit ce test. Pourtant avec Marc c’était rapide. C’est le premier qu’elle écrit toute seule et c’est douloureux. Elle râle :

« Avec Marc on n’avait fait que le début en fait.

« En fait, c'était un cas facile.

« C’était facile car nous n’avons pas fait grand-chose. »

Charlotte n’arrive pas à écrire un test. Deux heures que ça dure et ce n’est pas fini.

« Ça ne marche pas son truc. »

De plus, elle a l’impression d’écrire des évidences.

« Le test doit tester qu’il y a un maximum de cinq propositions.

« Je crée un test qui prend cinq propositions en entrée, je lui dis de renvoyer vrai.

« Ce test ne sert à rien ! »

Charlotte est chagrinée. Elle n’a pas le choix, elle doit rappeler Marc. Si elle abandonne maintenant tout ça n’aura servi à rien, et elle ne sera pas plus avancée.

« Marc, j’écris un test et je n’y arrive pas. Sans te fâcher, tu as cinq minutes pour regarder le code avec moi ?

— Oui. Partage ton écran. Tu fais quoi avec ce test ?

— Je teste que mes propositions ne dépassent jamais cinq. J’ai des impacts partout ! Normal hein ça remet en cause ce que j’ai déjà développé avant. J’ai plein de choses à tester maintenant avec ta technique. Je nettoie une fonction, qui en appelle une autre et et-caetera. J’en ai partout.

— Je vois. »

Marc pose un long silence, Charlotte sent qu’elle perd patience.

« Tu as beaucoup de choses à faire. Je vais te dire un secret : je n’ai pas de mémoire. Je suis un peu limité de ce côté là. Mon atout à moi c’est d’être précis. J’aime bien nommer clairement, je prends plaisir à définir les choses.

— C’est de la fausse modestie, ça, tu es très fort, tout le monde le sait. Ça marche tout le temps ce que tu fais.

— C’est bien que tu le crois, c’est bien que tout le monde le croit, en vrai pas tant que ça. Je déteste me rappeler des choses, je veux me décharger de ce type de savoir. Je me fais des listes de ce que je dois faire et je les coche. Comme aux courses, pareil.

— C’est pas compréhensible ce que tu dis. »

Charlotte en a marre de ne rien comprendre.

Elle rumine :

« Ok je ne sais pas coder, ok je ne teste pas, ok mon code n’est pas maintenable et lui il y arrive car il est bête. »

Elle devient irritable, elle le voit bien, et Marc remarque son énervement. Il est amusé, il n’est pas étonné. Il ne s’attendait pas à ce qu’elle y arrive du premier coup.

« Pardon pardon, je vais être un peu plus clair. Ce que tu as à faire pour ce test là, c’est beaucoup de choses.

— Ah !

— Oui, je ne sous-estime pas ton travail, bien au contraire. Peu de développeurs vivent une expérience pareille. Il te faudra la raconter. »

Charlotte est toute ouïe.

« Tu as beaucoup de choses à faire, fais une liste. Une chose à la fois s’il te plait. Ce n’est pas un travail difficile ma technique, pas besoin d’être un savant. Je ne suis pas en train de te proposer une révolution dans ton code, les gros changements ne marchent pas, on ne sait jamais quoi faire. Tu réussiras si tu fais des petits changements, plein de petits changements tout le temps. »

Charlotte réalise qu’elle voulait encore aller vite. Elle voit bien que rien que de penser à écrire la liste, ça l'énerve, elle a envie d‘aller plus vite que cela.

« Grâce à ta liste, à chaque fois que tu modifies ton code, il doit être meilleur. Tu codes et tu vois d’autres modifications à faire : note-les s’il te plait. Fais toi un fichier TODO et liste tous tes points. »

Devant l’ampleur du travail à faire, elle n’avait pas fait de liste. La liste aurait été trop grosse, démoralisante.

« Tu sais voir quand les standards de code ne sont pas respectés, quand les nombres magiques sont utilisés, que le formatage est incorrect, quand les classes sont trop grosses, que les noms sont mauvais, enfin tout ça tu sais très bien le faire. »

Charlotte reçoit des félicitations, c’est une expérience nouvelle.

« Prends ton temps !

« Les tests vont te protéger, ils ne vont pas te tuer.

« Deviens une experte des petits pas. Quand on n’a pas de mémoire comme moi c’est facile, je suis obligé de noter tous les points à modifier, et j’écris autant de tests qu’il faut pour les traiter.

« Comme ça je libère mon esprit de tous ces problèmes que je vois et je consacre mon attention toute entière à la correction de chaque point. »

C’est plus clair pour Charlotte maintenant : elle doit accepter de ne pas en faire trop.

« Je sais que ça prend du temps de faire confiance.

« Tu as confiance en moi ? Eh bien fais confiance au process.

« Si c’est une discipline, c’est facile. »


épisodes :

1 - le plaisir de coder

2 - il y en a partout

3 - appel à un ami

4 - montre moi

5 - un nouvel espoir

6 - pas facile

7 - le développement est sinueux, pas linéaire

8 - le travail du développeur