02 Dec

💰Les snippets de code: le trésor secret des développeurs expérimentés

Lorsqu’il faut dĂ©buter un nouveau bout de code, la majoritĂ© des dĂ©veloppeurs avec lesquelles j’ai travaillĂ© mise sur une combinaison de copier/coller et leur mĂ©moire, et quand elle leur fait dĂ©faut, ils s’appuient sur Internet voire dĂ©sormais sur l’IA. Pourtant, on ne retrouve pas toujours le bout de code souhaitĂ© (ou de qualitĂ©) et on perd un temps considĂ©rable Ă  le re-chercher. Ils n’ont pas de stratĂ©gie de capitalisation alors qu’une partie essentielle du travail de dĂ©veloppeur est de savoir capitaliser de vastes connaissances techniques.

Pourquoi capitaliser des snippets ?

Pendant de nombreuses annĂ©es, je n’ai pas vraiment rĂ©flĂ©chi Ă  cette capitalisation. Avec le recul, j’ai l’impression d’avoir perdu d’énormes connaissances que je n’avais stockĂ©es nulle part. J’ai donc tentĂ© une autre approche. J’ai commencĂ© Ă  capitaliser des snippets de code rĂ©pondant Ă  des problĂ©matiques prĂ©cises.

Le mot snippet vient de l’anglais et signifie “petit bout”, un petit bout extrait de quelque chose de plus vaste comme un journal. Dans le cas du code, il s’agit d’un fragment qui seul ne correspond pas Ă  un code exĂ©cutable, mais permet de conserver des bouts de programmation potentiellement rĂ©utilisables, par exemple comment tester un microservice Rest Spring, mes commandes git prĂ©fĂ©rĂ©es, des requĂŞtes SQL, etc.

Cette stratégie permet d’avoir un template de code de qualité pour mettre en place en quelques minutes les bases d’un code propre, trouver la solution à un problème algorithmique ou garder sous le coude des lignes de commandes pratiques.

Imaginez collecter ne serait-ce qu’une snippet de qualité chaque jour, que ce soit le fruit de votre travail, qu’elle soit vue dans une merge request ou repérée sur internet, et à la fin de l’année vous aurez déjà plusieurs centaines de snippets.

Progressivement, le flux va se tarir et il deviendra de plus en plus difficile de trouver de nouvelles snippets à capitaliser, vous pourrez alors vous concentrer sur la nouveauté, l’inattendu voire sortir de votre domaine de compétences et étendre de plus en plus votre expertise.

Quel outil pour stocker mes snippets ?

Reste la question de l’outil. Il existe de nombreux logiciels qui proposent de stocker vos snippets, certains dans le cloud. Cependant il faut soigneusement en consulter les conditions d’utilisation. La plupart du temps, à moins de payer, vos snippets ne seront pas privées, c’est-à-dire qu’elles seront accessibles aux autres utilisateurs. De plus, le stockage dans le cloud présente toujours un risque, il ne faut y mettre aucune information confidentielle, les snippets doivent être complètement “nettoyées” de toute information sensible, nom de package ou de variable pouvant permettre d’identifier le projet ou l’entreprise, information sur la sécurité de l’application, etc.

Mon choix s’est porté sur this code works qui peut être utilisé comme plugin dans chrome ou comme extension dans visual studio code. Il est gratuit, avec possibilité d’avoir la snippet en mode privé (mais pas par défaut et j’oublie souvent de cocher la case).

Entretenir son stock de snippets

Il faut garder l’esprit critique sur son stock de snippets. Ce qui semblait un code excellent il y a un an, avec le recul et l’expĂ©rience peut dĂ©sormais nous paraĂ®tre nettement optimisable, ce qui Ă©tait le top de l’agorithmie il y a deux ans peut ĂŞtre dĂ©sormais complètement dĂ©passĂ© par les Ă©volutions d’un langage. Avant de rĂ©utiliser une snippet, il faut donc lui donner un petit coup de lustre, notamment si elle date un peu, pour garder son stock Ă  jour et ne pas rester bloquĂ© sur de vieilles pratiques de codage.

Stockez-vous des snippets ? N’hésitez pas à partager vos solutions de capitalisation de snippets ci-dessous.