Est-ce que votre code suscite la joie?

La méthode #KonMari repose sur le principe de se débarrasser de tout ce qui est inutile et qui n'inspire pas de joie dans nos maisons. Défendue par Marie Kondo, elle s'applique avant tout aux choses physiques, mais certains concepts peuvent facilement être appliqués à notre vie numérique de développeur.

Marie Kondo, Courtesy Netflix

Les espaces de stockages grandissants, nous sommes rarement confrontés à devoir nettoyer nos disques durs, du moins pas directement. Si ne jamais archiver un seul courriel reste un choix personnel, le problème est bien différent lorsqu’il s’agit de notre code à maintenir !

Comment garder une base organisée, et surtout quoi et quand supprimer ?

Prévenir avant de guérir

Le moyen le plus simple d’éviter d’avoir de gros dégâts à nettoyer est de ne pas faire de dégâts en premier lieu. Plus facile à dire qu’à faire. Tout comme il est préférable de mettre vos vêtements sales dans un panier à linge que sur le sol, il est préférable de prendre soin des nouvelles fonctionnalités avec quelques bonnes pratiques. Vous les connaissez peut-être déjà, mais juste au cas où :

  • Ajouter des commentaires sur ce que le code est censé faire. Combien de fois je me remercie d’avoir commenté une fonctionnalité lorsque je dois revenir des mois plus tard sur un projet !
  • Utiliser des noms de variables significatifs.
  • Mentionner si une fonctionnalité dépend d’une autre fonction.
  • Découper au maximum les itérations avec git pour facilement retrouver un commit.
  • Nettoyer les logs en consoles et tous le code commenté superflu.
  • Utiliser Prettier ou l’auto-indentation de son éditeur de code afin d’uniformiser sans efforts ses fichiers.
  • Utiliser Better Comments pour garder ses commentaires organisés.

Vous travaillez en équipe ? N’ oubliez pas aussi :

  • Etablir une structure partagée et des conventions de nommage.
  • Partager les standards de syntaxes ou utiliser une configuration Prettier partagée.
  • Informer vos coéquipier d’un travail non terminé pour éviter de voir son travail supprimé par ce qui va suivre.

Remercier son code

Nous avons tous des émotions au moment fatidique de supprimer quelque chose. Comme le code que nous supprimons représente toujours du travail, nous sommes souvent réticents à le supprimer. Nous savons que ces précieuses lignes ne seront plus là et craignons à tord que le travail devra être répété.

La solution à ce problème n’est pas d’éviter de supprimer des éléments, mais d’éviter l’impact émotionnel de prendre une décision. Certaines méthodes peuvent aider à réduire cet impact :

  • après avoir supprimé une fonction, faire un commit uniquement pour cette suppression afin de pouvoir la retrouver facilement en cas de besoin.
  • automatiser les taches répétitives, c’est une des forces de la méthode numérique. Par exemple, vérifier si vos commentaires contiennent des “todo”avant un commit, executer Prettier automatiquement à la sauvegarde d’un fichier, mettre en avant les fonctions non utilisées à l’aide d’un script.
  • le faire en équipe. Soulever des points de prévention à votre équipe aidera à conserver une base propre et à aligner les méthodes et outils.

Trouver un moment

Un projet se retrouvera souvent à un moment donné limité par le temps, le budget ou les ressources et il deviendra difficile de maintenir les bonnes pratiques mises en place en début de projet.

Ayez des moments précis dans votre cycle de développement pour nettoyer après vous-même. Qu’en est-il de cette heure à la fin de la semaine de travail lorsque vous ne voulez rien commencer? Ou le jour où vous serez principalement bloqué en fin ou début du sprint? Pourquoi ne pas profiter aussi d’un code review pour faire part à votre équipe d’un morceau de code pouvant être supprimé?

Ce sont de bons points de rupture naturels pour nettoyer les choses alors que les souvenirs sont encore frais. Lorsque la cadence est régulière, vous vous souviendrez mieux de ce que vous faisiez. Faire du nettoyage une corvée régulière au lieu d’un comportement «quand j’y arrive» deviendra beaucoup moins gênant à faire.

Spark joy!

Vous êtes du genre à hurler de colère intérieurement contre vous-même ou les autres lorsque des erreurs sont commises ? Vous êtes indisciplinés et avez besoin de motivation pour nettoyer votre code ? Trouvez une récompense pour vous motiver : levez-vous et regardez le soleil, prenez une poignée de M&Ms, sonnez une petite cloche (avec l’accord de votre voisin), bref n’importe quoi qui vous donnera un peu de joie après avoir fait l’effort de nettoyer votre code. Associer un sentiment de joie à une action la rendra un peu plus facile d’approche.