Le refactoring c’est tout le temps, et c’est normal. (épisode 1 - le plaisir de coder et glossaire)

Coder c’est génial.

C’est comme réaliser un cadeau pour la fête des pères. En construisant le logiciel, Charlotte s’imagine le moment magique où elle va l’offrir. Le cadeau caché derrière son dos,  empaqueté. Elle se dirige vers le bureau paternel et montre le cadeau, au creux de ses mains, en affirmant : « C’est moi qui l’ai fait ! ». Quelle fierté. Bon, d’accord, elle n’a plus 6 ans. La presbytie est bien présente maintenant, et Charlotte a déjà dépassé la phase où elle même a reçu des cadeaux de fête des mères. Pourtant elle a toujours besoin de ce sentiment.

Ce sentiment de grande fierté d’avoir réalisé par elle-même quelque chose d’extraordinaire.

Elle recommence à coder.

Elle écrit des lignes de code et elle voit le logiciel se former.

Elle avance de plus en plus vite. Une fonction de plus, qui marche. Elle voit arriver le moment où elle va pouvoir montrer son logiciel à ses utilisateurs. Son cadeau de la fête des pères. C’est exaltant.

Elle identifie des petits moments où elle aurait besoin d’aller moins vite, comme par exemple pour mieux nommer une fonction, ou pour diminuer le nombre de paramètres d’une fonction. Ça la ralentirait, elle se demande si cela en vaut la peine. Elle note ses idées d’amélioration, comme pour déculpabiliser de ne pas les traiter.

Elle se remet à coder : elle décide vite, et ça marche.

Elle se trouve très compétente. Elle est fière d’elle.

« J’ai toujours su développer vite. » se dit Charlotte avec satisfaction.

« J’en suis capable. »

Elle sait qu’elle devra ensuite passer du temps à corriger des détails. Ce n’est pas grave.

L’effet aura été obtenu. Elle aura montré sa compétence. Au travail, c’est pareil. En plus fun car il y a les collègues. Un peu d’amitié et un peu de concurrence. Une blague récurrente lui plait beaucoup : « Demande à Charlotte, elle a sûrement déjà fini ».  C‘est comme si elle était au collège et qu’elle passait la ligne d’arrivée en vainqueur.

Finalement, elle se rend compte que ses réflexions sont très infantilisantes. Elle n’assume pas le côté puéril de la chose. Développer c’est puéril ? Non, bien sûr que non. Développer c’est un travail sérieux.

Développer c’est un travail sérieux comme... jouer à un jeu vidéo.

Elle code et elle avance dans l’aventure. Elle code et elle débloque un bonus. Elle code et elle passe un niveau. Le boss de fin c’est la mise en production. Elle s’amuse toute seule.

Bon, toujours puéril finalement.

Développer c’est un travail sérieux comme… réaliser une création artistique.

Développer c’est inventer. Si ce n’était pas inventer, ce serait reproduire. Le développement c’est tout sauf de la reproduction. Ce n’est jamais le même problème, ce n’est jamais la même solution. Développer, c’est inventer une solution pour résoudre un problème. Puis le problème change. Il faut inventer autre chose.

Le travail n’est pas répétitif. L'œuvre est unique.

Pour développer, il faut faire preuve d’imagination, au départ la solution semble fictive, puis c’est tout un art de lui donner forme.

C’est ça. Charlotte se sent comme une artiste. Elle s’autorise beaucoup de choses que ne s'autorise pas un esprit cartésien et analytique. Pendant qu’elle développe, elle rêve, elle prend du recul, elle observe, elle médite sur la solution.

C’est prolifique.


Glossaire :

Refactoring [@wikipedia] : réusinage de code. Opération consistant à retravailler le code source d'un programme informatique – sans toutefois y ajouter des fonctionnalités ni en corriger les bogues – de façon à en améliorer la lisibilité et, par voie de conséquence, la maintenance, ou à le rendre plus générique ; on parle aussi de « remaniement ». Cette technique utilise quelques méthodes propres à l'optimisation de code, avec des objectifs différents.

dakuten et handakuten : petits accents qui modifient la lecture du kana. Plus précisément : la consonne du kana change de son.

  • dakuten : petit accent ressemblant à un guillemet ゛ qui a plusieurs dénominations, dakuten ou ten-ten.  Ce signe est utilisé avec les kana pour indiquer les consonnes voisées.
  • handakuten : petit accent ressemblant à un petit rond ゚ qui a plusieurs dénominations, handakuten ou maru (qui signifie rond).

Soient, par exemple, les changements suivants (valables avec toutes les voyelles et ce pour les hiraganas et les katakanas) :

kaga
saza
tada
haba
hapa

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