Clean Code : définition, avantages et principes

Technologie et développement

Vous souhaitez développer un logiciel fiable ? Le code propre permet de concevoir un logiciel reposant sur un socle stable assurant la pérennité du produit.

Martin Fowler, célèbre concepteur de logiciel, le dit lui-même : “Seul les bons développeurs sont capables d’écrire du code compréhensible par les humains”. Le Clean Code peut être une solution pour harmoniser les pratiques d'écriture de code et assurer la pérennité de votre produit. 

 

Mais alors, qu'est-ce qu’un code propre ? Quels sont les avantages et les principes à suivre ? 

 

Qu'est-ce que le Clean Code ?

 

Une application peut très bien fonctionner avec un code dit “mauvais” c’est-à-dire désorganisé, complexe, répétitif et fragile. Mais le jour où l’application doit changer son infrastructure d'hébergement ou bien faire évoluer son code source, le temps nécessaire et les ressources employés - essentiels à ces évolutions - peuvent mettre en péril l’application voir l’entreprise en elle-même. 

 

Effectivement, plusieurs expertises se côtoient lors du développement d’une application, il peut être parfois difficile de se comprendre. Les différents langages de programmation, la diversité d’architecture ont une répercussion sur les bases de code. Pour harmoniser les pratiques, l’approche pragmatique du Clean Code est sans doute la solution à ce problème. 

 

Le terme Clean Code fait référence au livre Clean Code: A Handbook of Agile Software Craftsmanship rédigé par Robert C. Martin alias Uncle Bob en 2006. Dans cet ouvrage, l’auteur récolte les propos de nombreux experts en programmation afin de saisir la définition subjective du Clean Code.

 

Le Clean Code est un code propre facile à comprendre et à faire évoluer. Il s’adresse davantage au lecteur, plutôt qu’au concepteur, dans le but de le rendre évolutif et durable. 

 

Qu’est-ce qu’un code lisible ?

 

En quelques mots, un code lisible est un code facile à lire pour n'importe quel développeur.  Il s’agit d’un code structuré comportant des noms compréhensibles et accessibles à toutes les parties prenantes d’un projet. Si un code est lisible, il n’est pas nécessaire de fournir une documentation technique. Rendre son code lisible, c’est faciliter sa compréhension, donc sa maintenabilité.

 

Mauvais Code 

var d; // elapsed time in days

Bon Code 

var elapsedTimeInDays;

var daysSinceCreation;

var daysSinceModification;

 

Mauvais Code 

var accountList = [];

Bon Code 

var accounts = []

 

Qu’est-ce qu’un code facile à modifier ? 

 

Une des caractéristiques d’un code propre c’est la facilité de modification. En effet, plus un code est lisible plus il sera facile de l’étendre et de le refactoriser. Les développeurs pourront plus aisément corriger les bugs par exemple. 


 

Les avantages du Clean Code 

 

Voici quelques raisons d’adopter le Clean Code dans vos processus de développement :

 

 

Donner de la valeur au code source

 

Lors de la réalisation d’une application, les parties prenantes sont nombreuses ce qui implique une certaine adaptation face à la diversité de compétences. Un code propre permet d’apporter de la valeur au code en le rendant plus compréhensible ce qui améliore la coordination des intervenants. Gardez en tête qu’un code accessible est un code durable sur le long terme. Il facilite le quotidien de toutes les personnes impliquées dans le projet. 

 

La maîtrise des coûts

 

Selon une étude réalisée en 2018 par Stripe, la moitié des développeurs passent en moyenne plus de 17 heures par semaine sur des tâches de maintenance. Ce manque d’efficacité est une perte considérable de temps, et par conséquent, d’argent pour les entreprises. Le code propre est une première solution face à ce problème en garantissant un avantage coût/bénéfice. La prise en main d’un code intelligible est assurément plus facile et rapide donc un gain de temps pour tout développeur.   

Le Clean Code permet d’éviter de se tourner vers la dette technique qui, par définition, engrange des coûts supplémentaires.

 

La valorisation du produit 

 

Un code de qualité assure la stabilité d’une application. Cette stabilité augmente la valeur commerciale de votre logiciel. Cette valeur ajoutée garantie un gain de temps et donc maximise le retour sur investissement. Le code propre est un avantage face à la concurrence en valorisant votre produit. 

 

Un refactoring amélioré

 

Au cours du cycle de vie d’un logiciel, le code source peut être amené à évoluer de par les réalisations des équipes de développement. Un code lisible et compréhensif va faciliter l’ajout de fonctionnalités et les mises à jour. Une base de code compréhensible simplifie la prise en main d’un développeur. 

 

Les principes pour écrire du code propre 

 

Afin d’écrire un code propre, il convient de respecter certains principes de base. 

 

Des noms significatifs 

 

La dénomination est une composante de la bonne lisibilité du code. Ainsi, le choix du nom d'une variable est déterminant pour la compréhension du code par un développeur. La variable doit comporter une distinction significative afin d’éviter la désinformation.  

 

Des fonctions optimisées 

 

Pour optimiser ses fonctions, faites en sorte qu’une fonction exécute un seul et même traitement. La fonction doit avoir une raison de changer. Assurez-vous également d’ajouter un nom qui communique son intention en ajoutant le verbe d’action. 

La fonction doit suivre le principe de responsabilité unique (SRP). 

 

Des commentaires inutiles 

 

Pour spécifier le but d’une ligne de code, il est courant d'utiliser des commentaires. Cependant, lors de la maintenance du code, les commentaires peuvent être déplacés ce qui peut être problématique. Retenez qu'un bon code représente à lui seul une documentation technique si celui-ci est clair et compréhensif. 

Si vous appliquez les bonnes pratiques, vous n’aurez pas besoin de laisser des commentaires dans votre code. 

 

Un code lisible par et pour tous

 

La mise en forme du code permet une meilleure lisibilité. Cette mise en forme comprend aussi bien les espacements horizontaux que verticaux en passant par des indentations. Le formatage du code permet de gagner du temps car il simplifie la lecture lorsqu’un intervenant recherche une fonction spécifique par exemple.    

Assurez-vous de ne pas écrire votre code sur une ligne et d’utiliser plutôt des espaces, indentations ou sauts de lignes car la mise en forme assure la pérennité de votre code.  

 

Limiter les dépendances

 

 

Lors du développement d’une application, le couplage faible doit être de vigueur car il permet de réduire les interdépendances entre les composantes d’un système ce qui rendra le framework plus flexible et stable. On retrouve des dépendances unidirectionnelles et des dépendances bidirectionnelles.

La dernière est composée de deux entités qui sont séparées mais devant cohabiter ensemble pour exister. Lors de la mise à jour de ces entités, il devient plus difficile de les gérer. Il faut donc faire attention à la gestion des dépendances. 

 

L'organisation des projets

 

Pour écrire un code propre, l'organisation est de rigueur. L'organisation des dossiers, fichiers et répertoires est primordiale. Lors des mises à jour d’une application, les fichiers ou répertoires peuvent être modifiés ou tout simplement supprimés. Il convient donc de les structurer afin de les rendre accessibles et modifiables par n’importe quel développeur.  

 

Pourquoi le Clean Code n’est-il pas une norme ? 

 

Robert C. Martin prône la simplicité dans son approche. Or, cette valeur ne devrait pas être un objectif pour les développeurs car elle ne s’adapte pas à tous les contextes comme par exemple les différents langages de programmation. 

 

Le Clean Code est essentiellement une approche subjective et ne peut pas être considéré comme un référentiel à destination des développeurs. Chaque développeur a sa propre méthodologie pour écrire un code propre. De plus, le code propre implique une discipline demandant plus de temps ce qui ne convient pas forcément à des petites équipes. 

 

Le code propre n’est pas une norme mais avant tout une proposition de bonnes pratiques à l’image d’un guide où l’on pioche des conseils qui nous intéressent. 

 

Pour résumé

 

L’écriture d’un code peut nuire à l'efficacité d’une organisation de développement informatique lorsque celle-ci est négligée. Les équipes de développement perdent de précieuses heures à la bonne compréhension du code pour assurer la maintenance. 

 

Bien que l’approche soit subjective, le Clean Code permet véritablement de garantir la stabilité d’un logiciel grâce à la construction d’un socle solide. Ce sont quelques règles à adopter qui dirigent l'écriture de code afin de rendre la lecture universelle pour une meilleure prise en main des parties prenantes. 

 

Chez Fidesio, lors du développement de logiciel, nous mettons un point d’honneur à écrire un Clean Code afin de garantir la pérennité des produits de nos clients. 

 

Vous souhaitez développer un logiciel stable sur le long terme ? Notre équipe de Développement vous accompagne tout au long du processus de conception.  

 

N’hésitez pas à nous contacter.