Bienvenue sur le podcast Artisan Developer, l'émission pour les programmeurs qui veulent
vivre une carrière épanouissante.
Prêts à passer au niveau supérieur ? C'est parti !
Quand je discute avec les gens, il y en a encore qui me disent, qui me demandent, Benoît,
est-ce que sérieusement tu crois au TDD ? Comme si c'était un acte de foi, comme s'il
fallait prouver, démontrer le bien fondé du TDD.
Et d'ailleurs, je vois des papiers de recherche qui t'expliquent par exemple que le refactoring
n'améliore pas la qualité de code.
Très fou.
La réalité quand tu creuses un petit peu derrière ces études, c'est que c'est très difficile
de mener des études sérieuses.
Si tu regardes d'un point de vue scientifique, il faudrait pour avoir des études sérieuses
faire faire exactement la même chose à plusieurs personnes, peut-être à plusieurs équipes,
comparer les résultats, évidemment ne pas prendre que des débutants parce que par définition
il y a un biais énorme avec les débutants, c'est qu'ils n'ont pas d'expérience, c'est
pas forcément les compétences nécessaires pour faire du code durable.
Et je me vois mal un scientifique faire faire dix fois le même projet et financer tout
ça pour vérifier entre ceux qui font du refactoring ou pas ceux qui vont le plus vite.
Moi, j'ai ma petite idée sur la réponse, mais il faudrait peut-être pouvoir le prouver.
Et c'est en ça que je dis ben non justement, le TDD ne se démontre pas.
Le TDD se montre en fait, se montre par l'expérience.
Et c'est un petit peu la différence qu'il y a entre une théorie et un modèle.
Une théorie, on t'explique pourquoi ça marche.
On évalue si la théorie est vraie ou pas, et on la démontre.
Alors qu'un modèle, on dit comment ça marche et ensuite on évalue l'efficacité.
Et on n'a pas forcément besoin de comprendre dans le détail pourquoi ça marche, la mécanique
interne du truc.
Si tu réfléchis à mettre en œuvre le TDD, arrête-toi de te poser des questions.
Essaye honnêtement, avec et sans, et fais-toi ta propre opinion.
Alors, quand je dis « Essaye honnêtement », c'est quoi pour moi un essai honnête ?
Mais essayer de le faire en connaissance de cause sur une certaine durée.
Sur la durée, c'est peut-être le plus simple.
Essaye pendant quelques semaines, deux à trois semaines, essaye sérieusement de te mettre
au TDD.
Tu vois là, déjà deux, trois semaines, c'est pas cinq minutes sur un coin de table.
Non, donne-toi du temps pour essayer sérieusement.
Et c'est quoi aussi un essai honnête ?
C'est aussi de le faire dans de bonnes conditions où tu sais le faire.
Parce que les gens confondent malheureusement souvent les choses et disent « Ah non, mais
t'es dédé, c'est trop long, non, ce qui est long, c'est d'apprendre à le faire, pas
de le faire parce que dès que tu le fais, tu gagnes du temps.
» Donc pour que le essai soit honnête, tu as deux manières de faire soit, tu te formes
pour acquérir les compétences nécessaires.
Mais c'est vrai que ça, ça va être long et tu n'es pas forcément motivé pour le
faire si tu doutes encore du bien fondé de la démarche.
Soit tu le fais avec quelqu'un qui est compétent et convaincu.
Tu vas travailler en binôme pendant une semaine, deux semaines, trois semaines et tu verras
qu'au-delà de quelques jours, tu risques d'y prendre sérieusement goût.
En tout cas, moi je ne connais personne qui est essayé sérieusement et qui en soit revenu
complètement du genre « non mais TDD, les tests, non ».
Par contre, des gens qui ont ouvert un tutoriel à la Hello World, qui ont essayé diminuer
une heure, deux heures même parfois sur un bout de code avant de refermer tout ça,
en se disant « non, ce n'est pas pour moi, c'est trop compliqué », ou de se rassurer
avec des phrases comme « non mais chez nous, c'est différent, le TDD, ça ne s'applique
pas, ça tu vois des gars comme ça, y en a plein, y en a à l'appel ». Et je ne
vais pas leur jeter la pierre parce qu'ils ont au moins fait l'effort d'essayer.
Le problème c'est qu'ils ont fini par se convaincre d'une situation qui était juste
un problème de contexte.
Alors que si ils avaient fait la même chose en se donnant une chance réelle sur plusieurs
jours, en ayant les compétences pour le faire, je suis convaincu qu'ils auraient
changé d'avis.
D'ailleurs, si tu ne sais pas le faire et que tu as envie d'apprendre par toi-même,
je ne peux que te proposer de venir dans la maison des compagnons sur maison.artisandeveloper.fr.
Voilà, j'espère que cet épisode t'a plu encore une fois.
Une théorie, c'est quelque chose où on explique pourquoi ça marche.
Un modèle, c'est comment ça marche et puis on évalue surtout l'efficacité, on ne cherche
pas à le démontrer.
Donc encore une fois, le meilleur moyen, essaye par toi-même, et fais-toi ta propre
opinion.
Et puis une fois que tu t'es fait ton opinion, dis-moi comment ça s'est passé pour toi,
qu'est-ce que tu en as retiré, qu'est-ce que tu as réussi à faire, sur quoi tu as galéré.
En vendant un email benoingarobasartisandeveloper.fr et si ta question est intéressante, j'en
ferai un podcast.
A demain !