IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

« Un bon code est comme une lettre d'amour destinée au prochain développeur qui va le maintenir », estime Addy Osmani.
L'ingénieur de Google montre les similitudes entre les deux

Le , par Michael Guilloux

7PARTAGES

20  0 
Un bon code peut être comparé à une lettre d'amour adressée au prochain développeur qui va le maintenir, estime Addy Osmani. Tout comme une lettre d'amour personnelle et sincère, il pense que le bon code est rédigé avec soin et considération pour le prochain développeur. Il utilise des motifs de conception et des principes pour rendre le code lisible, compréhensible et efficace. Des meilleures pratiques telles que des conventions de nommage appropriées, la modularisation et les commentaires détaillés sont également utilisées pour faciliter la compréhension du code par les autres. De plus, le bon code est testé rigoureusement pour assurer sa performance et sa qualité. Enfin, le bon code reflète l'empathie et le respect du codeur envers ses collègues développeurs et reconnaît que le logiciel est une entité évolutive qui nécessitera des ajustements au fil du temps. Addy Osmani affirme que le bon code est un héritage précieux que les développeurs laissent à ceux qui viennent après eux.

Qu’est-ce qu’un bon code ? C'est une question que tous les développeurs se posent, que ce soit sur ce site ou en entreprise. Mais le sujet mérite toujours d'être abordé, parce que même si intellectuellement, on sait ce qu'est un bon code, dans la pratique il est plus facile d'en créer un mauvais à cause de contraintes qui peuvent être externes. Alors, rappelons ce qu'est un bon code.

Pour faire un récapitulatif, un bon code répond à un ensemble de critères : il doit être lisible et compréhensible, fonctionnel, facilement maintenable, facilement réutilisable, commenté, implémenter, des tests unitaires, etc. La liste n'est pas exhaustive.

Ce qu'il est important de noter, c'est qu'en général, la plupart des développeurs pensent qu'ils écrivent du bon code, jusqu'à ce que leur code doive être relu ou maintenu par un autre. Mais, comme le dit l'informaticien et auteur John Woods, pour avoir un bon code, « il faut coder toujours comme si la personne qui va maintenir le code est un psychopathe qui sait où vous vivez ». Autrement dit, un bon code est celui qui est écrit en pensant à celui qui va le maintenir. C'est le message qu'Addy Osmani essaie de passer en affirmant ceci : « Un bon code est comme une lettre d'amour destinée au prochain développeur qui va le maintenir. »


Addy Osmani

Pour information, Addy Osmani est un ingénieur logiciel chez Google travaillant sur le navigateur Web Chrome. Il est l'auteur de livres tels que « Image Optimization » et « Learning JavaScript Design Patterns ». Il a également créé plusieurs projets open-source tels que Yeoman, TodoMVC, Quicklink et Material Design Lite.

Citation Envoyé par Addy Osmani
Nous idéalisons souvent la programmation, la présentant comme une forme d'art abstraite, une science, voire une forme de magie. La vérité, cependant, est bien plus pratique et terre-à-terre. Le code, dans son essence, est une forme de communication. Au début de mon livre « Learning JavaScript Design Patterns », je dis que « le bon code est comme une lettre d'amour destinée au prochain développeur qui va le maintenir ». C'est une correspondance intime, d'un développeur à un autre, à travers le temps et l'espace.
Dans un billet de blog, Addy Osmani explique les caractéristiques communes entre le bon code et une lettre d'amour. « Une lettre d'amour est personnelle, sincère et attentionnée. C'est un témoignage poétique de sentiments, souvent méticuleusement rédigé, dans le but de transmettre des émotions avec précision. Le bon code partage ces caractéristiques », dit-il.

Selon l'ingénieur de Google, le bon code est personnel, car il reflète la logique et l'approche du codeur. Il est sincère et dépourvu de complexité inutile. Il est attentionné, car il se soucie du prochain développeur qui va essayer de le comprendre. « Et surtout, il est méticuleusement conçu pour résoudre un problème avec une efficacité maximale. »

Un bon code et une lettre d'amour utiliseraient donc le même langage, mais les similitudes ne s'arrêteraient pas là.

Tout comme l'auteur d'une lettre utilise des règles de grammaire et des structures linguistiques pour encadrer ses mots et ses sentiments en phrases compréhensibles, les développeurs ont des motifs de conception et des principes pour donner forme à leur code.

Citation Envoyé par Addy Osmani
« Les motifs ne rendent pas seulement le code évolutif, maintenable et efficace, mais aussi lisible et compréhensible. Ils fournissent un vocabulaire partagé pour les développeurs, leur permettant d'exprimer des conceptions logicielles complexes avec des structures universellement reconnues.

Par conséquent, le bon code exploite ces motifs de manière stratégique, tout comme un poète expérimenté utiliserait des dispositifs poétiques pour créer de la résonance. Il n'applique pas les motifs simplement pour le plaisir, mais parce qu'ils ajoutent de la valeur à la solution, rendent le code plus compréhensible et garantissent la pérennité de la base de code.

SOLID, DRY, KISS et YAGNI ne sont pas simplement des principes, mais des pierres angulaires pour créer un bon code. Ils guident un développeur à prendre des décisions judicieuses, à trouver un équilibre entre sous-ingénierie et sur-ingénierie, et finalement, à rédiger une « lettre d'amour » que le destinataire chérit. »
L'ingénieur de Google aborde également la question des tests en soulignant que tout comme un écrivain relit sa lettre, un développeur devrait faire de même avec son code. « Des tests rigoureux et la pratique du développement piloté par les tests (TDD) sont des indicateurs d'une lettre d'amour soigneusement rédigée. Les tests valident les performances du code dans divers scénarios, révélant les défauts potentiels et les zones d'ombre. La présence d'un framework de test robuste est souvent un témoignage de la qualité du code. »

L'empathie et le respect sont aussi des points sur lesquels insiste Addy Osmani. « Au cœur d'une lettre d'amour se trouve l'empathie et le respect pour le destinataire, et il en va de même pour le bon code », dit-il. « Rédiger du code que d'autres peuvent lire, comprendre et maintenir est une forme de respect professionnel. Cela montre que le codeur comprend que son travail fait partie d'un effort plus vaste et continu, que le logiciel est une entité vivante qui évolue, et que de nombreuses mains façonneront son destin au fil du temps. »

Il ne manque pas de faire cas du respect des meilleures pratiques établies. Pour lui, les conventions de nommage appropriées, la modularisation et les commentaires détaillés, entre autres, ne sont pas seulement des règles à suivre, mais ce sont des normes qui définissent à quel point le codeur est attentif envers le prochain développeur.

Addy Osmani essaie de montrer que tous les critères d'un code de bonne qualité peuvent être remplis si seulement l'on fait une seule chose : se soucier des autres développeurs qui vont le maintenir. Le bon code doit donc être notre héritage durable pour ceux qui nous suivent.

Source : Addy Osmani

Et vous ?

Qu'est-ce qu'un bon code pour vous ?
Que pensez-vous de cette comparaison entre un bon code et une lettre d'amour ?
Si vous deviez faire une analyse similaire, à quoi compareriez-vous un bon code ? Pourquoi ?

Voir aussi

Un code open source comportant des jurons dans les commentaires est statistiquement meilleur qu'un code sans jurons, selon une étude

Le contrôle de son code par un collègue permettrait d'en améliorer la qualité et de respecter les délais de livraison, d'après un consultant

Qu'est-ce qu'un bon code ? Une étude tente d'apporter des éléments de réponse

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Freudd
Membre averti https://www.developpez.com
Le 21/07/2023 à 13:46
Dommage, mon ESN me paye à écrire des lettres d'insultes
8  0 
Avatar de binarygirl
Membre chevronné https://www.developpez.com
Le 21/07/2023 à 19:52
Plutôt que de lettre d'amour, je parlerais plutôt d'héritage.
Le code c'est ce qu'on laisse à nos collègues et successeurs quand on quitte la boîte. Je n'ai pas envie qu'ils me maudissent après mon départ
Mais je m'efforce d'écrire du code propre pour moi-même avant tout, avant de me soucier de la reprise par d'autres, car il faut que ne soit pas une galère à maintenir par moi-même... il faut le faire pour soi-même d'abord. Et si on ne s'aime pas soi-même, peut-on aimer les autres
6  0 
Avatar de JPLAROCHE
Membre expérimenté https://www.developpez.com
Le 21/07/2023 à 11:01
ouf ça change des articles IA
4  0 
Avatar de Anselme45
Membre extrêmement actif https://www.developpez.com
Le 21/07/2023 à 13:50
Citation Envoyé par JPLAROCHE Voir le message
ouf ça change des articles IA
Pas sûr... Vu que pour certains le prochain développeur sera IA

Allez faire une lettre d'amour qui touche les sentiments de l'IA
0  0 
Avatar de Bousk
Rédacteur/Modérateur https://www.developpez.com
Le 21/07/2023 à 16:28
Ça se tient mais : qui apprécie assez réellement son employeur et emploi pour s'en soucier ?
Perso, mon court passage en SSII je n'avais aucune attache à mon entreprise, ni à celle où j'étais parachuté. Donc le code que j'écrivais je l'écrivais avant tout pour moi pour apprendre, m'améliorer, et surtout trouver autre chose où m'en aller. Et il était donc probablement, entre autre parce que j'étais junior, juste "good enough".
0  0