La réutilisation du code est une méthode de conception d'ordinateurs et d'autres systèmes qui consiste à réutiliser le code existant. Un système devrait être partiellement ou totalement composé de parties de composants écrits antérieurement et/ou de parties d'un autre système. La réutilisation du code est la principale méthode utilisée pour réduire les coûts de main-d'œuvre dans le développement de systèmes logiciels complexes.
Les discussions sur la "réutilisation du code" sont très populaires parmi les programmeurs et ils en parlent généralement de manière positive. Ils aiment à penser que les modèles qu'ils ont conçus sont "universels" et "adaptés à d'autres projets". Mais est-ce vrai ?

Réutilisation du code : le jeu en vaut-il la chandelle ?

La réutilisation du code est vraiment utile si vous créez quelque chose que vous prévoyez d'utiliser comme bibliothèque pour plusieurs projets. Cette méthode permet d'économiser du temps et des ressources et de réduire la réduction en utilisant des ressources déjà créées. L'idée clé de la réutilisation du code est que les parties d'un programme informatique écrites à un moment donné peuvent être utilisées dans la construction d'autres programmes écrits ultérieurement.
Certains codes dits de "réutilisation" consistent simplement à copier tout ou partie des codes d'un programme existant dans un nouveau programme. Bien que les organisations puissent utiliser cette approche, elles risquent d'être confrontées à un grand nombre des problèmes associés aux codes de licence causés par le raccourcissement et la programmation.

Types de réutilisation du code

De nombreux chercheurs ont travaillé pour rendre la méthode de réutilisation du code plus rapide et plus facile. La réutilisation du code peut être classée en plusieurs catégories :
? Réutilisation interne - l'organisation réutilise ses propres composants. Il peut s'agir d'une bonne décision commerciale, car l'organisation peut vouloir contrôler un composant essentiel au projet.
? Réutilisation externe - l'organisation peut acquérir une licence pour un composant tiers. La licence d'un composant tiers coûte généralement de 1 à 20 % du coût de développement au sein de l'entreprise. L'équipe doit également tenir compte du temps nécessaire pour trouver, étudier et intégrer le composant.
Par exemple, l'un des plus grands marchés de modèles est https://themeforest.net/. Les internautes peuvent y acheter des thèmes, modifier des images de texte et publier le site tel qu'ils l'auraient construit. Ce n'est pas une mauvaise approche si vous êtes une petite entreprise et que vous avez besoin d'une solution rapide. La grande question est la suivante : si vous souhaitez créer un site semblable à Facebook, pouvez-vous trouver un modèle et le réutiliser ? Même si c'est possible, la réponse est non. Parce qu'il est difficile d'adapter la base de code de quelqu'un d'autre, il est également très difficile de la mettre à jour, et il est probablement plus facile de commencer un nouveau projet à partir de zéro.

Avantages et inconvénients de la méthode de réutilisation du code

Examinons les avantages et les inconvénients de la réutilisation du code. Notre objectif est de réduire les coûts, d'augmenter la fiabilité et d'améliorer la cohérence.
? Coût - le coût d'utilisation d'un logiciel existant est généralement inférieur au coût de développement d'un produit équivalent. Le coût d'achat des produits logiciels est inférieur au coût d'utilisation des projets à code source ouvert. Bien qu'il soit plus difficile de modifier le code existant que d'en écrire un nouveau).
? Fiabilité - Deux situations sont faciles à négliger lors de la réécriture d'un code. La première est un code fonctionnel ajouté par l'auteur original. La seconde est un nouveau code ajouté au code source après avoir détecté un défaut dans le test. L'utilisation d'un code éprouvé est généralement plus fiable qu'un nouveau code.
? La cohérence - l'interface externe fournie par le système doit être cohérente : écrire un nouveau code qui peut être cohérent avec d'autres parties de la fonction du système.
Il faut également tenir compte de la taille du projet. Par exemple, voici les avantages et les inconvénients de la réutilisation du code pour un petit site web.
Avantages :
? Rapidité de mise sur le marché.
? Prix avantageux (en général, il s'agit d'une petite redevance ou de 10 à 30 USD par mois).
? Comprend souvent des mises à jour.
Inconvénients :
? Votre produit final n'est pas unique (on a l'impression qu'il s'agit d'un modèle de solution bon marché).
? Souvent, il n'y a pas beaucoup de possibilités de personnalisation.
? Vous devez encore engager un programmeur ou un programmeur indépendant pour mettre en œuvre le projet.

Pour les applications complexes et de grande taille, la situation de la réutilisation du code est différente

Avantages :
? Si une solution 100% correspond à vos besoins et qu'elle bénéficie d'une assistance et d'une tarification qualifiées, il est logique de l'utiliser.
Inconvénients :
? Le coût est toujours très élevé (un plan mensuel payant vous oblige à payer pour toujours).
? Vous aurez besoin d'une équipe interne pour gérer les opérations et le développement/les améliorations.
? Il est très difficile de travailler avec la base de code de quelqu'un d'autre, parfois même impossible car cela peut être très désordonné.

Risques liés à la réutilisation du code

La réutilisation du code comporte certains risques. Dans certaines situations, elle est tout simplement impossible. L'un des problèmes liés à la justification des investissements est que certains responsables n'accordent pas le temps nécessaire à la maîtrise de l'ancien code. Un autre risque potentiel est le manque de compréhension de la portée et des composants du code. Un autre risque potentiel est l'incapacité à effectuer une analyse.
Le désir de comprendre l'ensemble du code peut être une tâche écrasante, il est donc important de diviser le code en composants et de mettre en évidence les parties clés à réutiliser. Prenez le temps d'identifier les éléments du code qui devraient être réutilisés. Parfois, il peut être nécessaire de documenter entièrement le code. Par exemple, en fonction des exigences réglementaires, mais les tentatives de réutilisation et de documentation de l'ensemble du code ne sont généralement pas efficaces. L'objectif premier doit être d'identifier les extraits de code à documenter et à réutiliser.

Réutilisation du code : quatre aspects clés de la réussite

Les principaux aspects clés d'une réutilisation réussie du code sont les suivants :
1. Comprendre l'architecture du code original pour identifier les composants, les limites et les interfaces.
2. Détermination du potentiel de réutilisation.
3. Évaluation du temps consacré à la réutilisation par rapport à la recréation de composants.
4. Décider pour chaque composant : quoi réutiliser et comment (inchangé, avec des changements mineurs ou significatifs).

Conclusion

Le plus important est qu'il est très facile de se dire "hmmm cette solution correspond à 80% de ce dont j'ai besoin". Il est certain qu'il est moins coûteux d'ajouter des fonctionnalités supplémentaires. Pourtant, nous ne vous recommandons pas de le faire. Il est plus difficile d'adapter la structure et la solution existantes, de changer le design et de tout faire sous le code de quelqu'un d'autre.
La réutilisation du code est possible tant que vous vous contentez d'une copie ou d'une solution totalement identique. Dès que vous personnalisez le code existant, il devient difficile de conserver la structure correcte. La réutilisation du code n'est pas une option si vous souhaitez obtenir d'excellentes performances. Bien que le développement sur mesure soit coûteux, il apporte de la qualité si vous choisissez les bons développeurs.