
Vous avez sans doute remarqué que les katas (petits exercices de programmation que l’on répète à plusieurs reprises) étaient particulièrement appréciées par la communauté software craftsmanship. Dans ce billet, je vais tenter d’expliquer la motivation de cette pratique.

En pratiquant régulièrement des katas, nous acquérons progressivement des réflexes qui nous apportent une aisance qui peu à peu nous libère l’esprit. Les conséquences de séries de répétitions répondent à une caractéristique propre à notre fonctionnement. Contrairement à une machine, si nous sollicitons notre corps régulièrement via une nouvelle pratique (mentale ou physique), nous disposons d’une capacité à créer de nouvelles connexions nerveuses qui permettra d’acheminer l’information plus rapidement. Ce que nous appelons usuellement un automatisme.

Le principe de répétition peut sembler affligeant, car il rappelle peut-être une forme d’aliénation, qu’illustre le célèbre film « Les temps modernes ». Non, nous parlons de répétitions choisies et non forcées. Lorsqu’un violoniste répète une partition ou qu’un sportif s’entraîne, on suppose que l’individu ne le fait pas sous la contrainte d’un tiers, mais selon son bon vouloir. Dans les faits, nous apprenons de cette manière depuis notre plus tendre enfance. Nos premiers mots, nos premières phrases sont issus de faits répétés avec notre entourage. Après un certain nombre de répétitions, vous constatez une forme de libération intellectuelle.

Dans le cas du développement logiciel, nous sommes exactement dans ce cas de figure. Plus nous maîtrisons notre écosystème technique (langage de programmation, éditeur de codes et raccourcis clavier, TDD, travailler de manière incrémentale, sauver régulièrement son code, appliquer les principes SOLID, appliquer les paradigmes de la programmation orientée objet, comprendre les paradigmes de la programmation fonctionnelle…), plus notre cerveau devient disponible. Par exemple, comprendre le contexte fonctionnel de votre projet vous semblera plus simple à appréhender. C’est donc en pratiquant régulièrement des katas que vous gagnerez une forme de confort intellectuel pour vous immerger dans le fonctionnel. Si vous maîtrisez parfaitement votre art, vous n’aurez aucun problème pour sublimer votre développement par une excellente compréhension fonctionnelle. Cependant, ce nouveau confort intellectuel vous poussera peut-être à regarder d’autres sujets techniques connexes à votre développement. Les bénéfices de ses nouveaux automatismes sont très importants vis-à-vis de votre capacité à délivrer du code qualité. On n’insiste jamais assez, s’entraîner à coder proprement est sans doute la meilleure façon de s’améliorer.

La pratique des katas doit être adaptée à votre organisation personnelle. Deux ou trois katas par semaine sont un bon début, naturellement, on peut imaginer un rythme plus important, en pratiquant un kata par jour, mais tout dépend de votre disponibilité et de votre motivation. Il ne s’agit pas de vous forcer; le plaisir doit rester le leitmotiv dans votre démarche. À l’instar d’un entraînement sportif régulier, vous jugerez de vos progrès rapidement au fil de temps.
En résumé, la pratique des katas est essentielle, si vous souhaitez développer un code plus propre, plus rapidement. La répétition est la base de l’apprentissage. Au final, de nouveaux automatismes vous permettront d’acquérir une maîtrise technique qui libérera votre cerveau et vous ouvrira de nouvelles perspectives.
Happy Coding