Qu'est-ce que le code spaghetti et comment l'éviter

Publié: 2020-07-03

Bien que cela puisse faire un délicieux dîner italien, l'une des dernières choses que vous voulez entendre concernant votre base de code est les spaghettis . L'idée que votre code soit aussi emmêlé qu'une assiette de spaghettis est horrible, mais pour beaucoup de développeurs, l'idée est si abstraite qu'ils ne peuvent pas vraiment la maîtriser (ou comprendre comment l'éviter ou la corriger). C'est pourquoi, dans cet article, nous souhaitons découvrir ce qu'est réellement le code spaghetti, vous montrer quelques bonnes pratiques pour l'éviter et (lorsque cela se produit) comment y faire face.

Abonnez-vous à notre chaîne Youtube

Qu'est-ce que le code spaghetti ?

Le code spaghetti est un cauchemar, c'est quoi. Comme nous l'avons dit plus haut, le terme d'argot tire son nom parce que, comme un enchevêtrement géant de pâtes spaghetti, si vous tirez sur un brin (morceau de code), il finit par s'entrelacer dans un autre et un autre et un autre, jusqu'à ce qu'il ou tout les morceaux emmêlés se cassent.

Par exemple, pensez à la propriété !important dans CSS. C'est incroyablement puissant, permettant à un concepteur de remplacer les styles hérités et de contrôler n'importe quel élément particulier sans avoir à recoder toute la feuille de style. Cependant, lorsqu'ils (ou les futurs développeurs et concepteurs) doivent ajuster autre chose, ils peuvent ajouter une autre balise !important pour remplacer la précédente. Etc. Mais si vous deviez revenir en arrière et supprimer ou modifier l'un de ceux de cette pile, un certain nombre de styles sur la page pourraient se briser.

C'est ce que nous essayons d'éviter.

Meilleures pratiques pour éviter le code spaghetti

1. Développer des normes de codage

Le moyen numéro un d'empêcher le code spaghetti est de créer et de coder des normes au sein de votre organisation ou de votre projet. Les normes de codage sont ce qui rend possibles des projets comme WordPress. Des milliers de développeurs ont travaillé sur WP Core, mais les normes de codage WordPress ont fait en sorte qu'ils travaillent tous selon les mêmes directives et effectuent les tâches avec les mêmes paramètres de la même manière.

Les normes de codage ne sont que des règles que vous appliquez. Ils font en sorte que le code de tout le monde fonctionne selon le même modèle afin que les erreurs soient faciles à trouver et à corriger, et que les futurs développeurs (ou même vous ou votre équipe actuelle) puissent savoir exactement ce que chaque ligne de code fait aussi efficacement que possible. Si le code de Susan ne réussit pas ses tests, il n'entre pas. Si le code de Janine n'a pas de tests à exécuter, la demande d'extraction est refusée. Peut-être que Daniel n'utilise pas de div sur sa demande d'extraction la plus récente. Pas de fusion tant que les choses ne sont pas divisées.

De plus, certaines des bases de code originales qui étaient en proie au code spaghetti étaient des langages plus anciens sans logique fonctionnelle. Le code n'était pas basé sur des fonctions et, par conséquent, diverses logiques étaient dirigées vers des lignes spécifiques du code. Avec de petits projets, ce n'est pas si mal de s'y retrouver. Lorsque vous commencez à mettre à l'échelle des projets, le fait d'avoir des références directes à des fichiers et des lignes de code spécifiques peut entraver ce développement. Des fichiers peuvent disparaître, des lignes peuvent être supprimées ou mal numérotées. Et le déboguer pour savoir quel brin de spaghetti a été tiré peut prendre des centaines d'heures-personnes. Avoir des normes de codage peut empêcher ce genre de désordre de se produire aussi souvent.

Ainsi, en développant des normes, vous avez très efficacement réduit les chances d'avoir un référentiel de code spaghetti. Si vous souhaitez en savoir plus sur les normes de codage en général, GeeksforGeeks propose un excellent guide.

2. Suivez un guide de style

En plus des normes de codage, le fait d'avoir un guide de style à suivre peut également empêcher votre code de s'emmêler trop. Bien que cela puisse sembler similaire en théorie, les deux sont très différents. Les normes de codage sont là en tant que règles exécutoires que vos développeurs suivent afin de maintenir le code fonctionnant efficacement. Ceux-ci peuvent changer d'un projet à l'autre ou d'une équipe à l'autre au sein d'une organisation.

Un guide de style, cependant, est généralement rédigé langue par langue, fournissant une série de bonnes pratiques pour rendre le code lisible et fonctionnel. Par exemple, Airbnb a créé l'un des meilleurs guides de style pour React.js. Si vous n'êtes pas un développeur React, cela ne signifie presque rien. Mais pour les développeurs React, examiner cela peut vraiment aider à déterminer comment votre code doit être structuré et écrit pour le rendre aussi accessible que possible aux futurs développeurs.

Un guide de style, contrairement aux normes de codage générales, ne sont pas nécessairement des règles exécutoires. Ce sont des suggestions pour rendre le code plus uniforme, ce qui rend le code plus facile à lire. Ce qui évite le code spaghetti car vous savez précisément sur quel brin vous tirez à un moment donné.

3. Commentez votre code

Les commentaires de code sont peut-être le moyen le plus simple d'éviter que vos référentiels ne soient remplis de code spaghetti. Lorsque vous écrivez quelque chose, créez un commentaire sur ce qu'il fait. S'il s'agit d'une fonction ou d'un extrait compliqué, expliquez ce que fait la logique et pourquoi c'est important.

Cependant, vous rencontrez quelques problèmes en vous appuyant sur les commentaires du code pour éviter les dégâts. La première étant que cela ajoute beaucoup de temps supplémentaire aux projets. Lorsque vous vous efforcez d'atteindre une date limite ou de vous assurer qu'une fonctionnalité fonctionne correctement, il n'est pas toujours évident d'écrire une explication détaillée de celle-ci. Et si vous commencez à commenter et que vous abandonnez au milieu du projet ou que le prochain développeur ne continue pas ? C'est une grande assiette de spaghettis.

D'autres sont dépassés par l'idée de commenter leur code - ou d'apprendre à commenter leur code s'ils ne l'ont pas déjà fait - en raison du volume considérable qu'ils développent. Ce qui est tout à fait valable. Mais même si vous commentez occasionnellement des lignes ou des extraits importants (ou même précaires), vous éviterez à quelqu'un, potentiellement vous-même, la peine de tirer dessus dans le passé, en essayant de comprendre ce qu'il fait.

Emballer

Le code spaghetti est un cauchemar, je le répète. Passer d'innombrables heures à essayer de comprendre quelle ligne de code a été modifiée dans un référentiel gigantesque est l'un des pires aspects d'un développeur. Le débogage est bien (ish). Le débogage et le fait de ne pas savoir par où commencer ou ce qui cause même le problème à distance ne l'est pas. Mais si votre équipe met en place des normes de codage, suit un guide de style linguistique et a même une politique de commentaire de code mineure, il y a de très fortes chances que votre assiette numérique de spaghettis soit beaucoup moins emmêlée qu'elle ne le serait autrement.

Que faites-vous pour empêcher le code spaghetti?

Article présenté en image par Donnay Style / shutterstock.com