Je me retrouve constamment à penser à la réutilisation du code lors du démarrage d'un nouveau projet.
Dans quelle mesure dois-je rendre mon code réutilisable?
Dois-je le limiter à la portée de l'application ou dois-je le rendre réutilisable en dehors du projet?
Parfois, j'ai l'impression que la réutilisabilité du code peut faire obstacle à une conception simple. Veuillez partager votre propre compréhension et approche de la réutilisation du code.
refactoring
code-reuse
Lamin Sanneh
la source
la source
Réponses:
Le code doit fonctionner avant de pouvoir être réutilisé. Cela implique donc que la conception et la fonction (principale) doivent venir avant d'envisager la réutilisation du code.
Il est bon de penser à la réutilisation et à la réutilisation des composants que vous avez déjà écrits. Mais cela peut parfois être tout aussi rapide, sinon plus rapide, juste pour écrire le code et le faire fonctionner. Après avoir résolu le problème d'origine, vous pouvez refactoriser le code pour le rendre plus réutilisable.
la source
N'oubliez pas le KISS et le YAGNI:
Code
re-usability better to be considered
une fois que vous avez votre document de conception prêt . Cela vous permettra de voir la section / les parties de code qui vont être potentiellement dupliquées.Ainsi, lorsque vous n'avez pas de conception claire, appliquez l' approche KISS et YAGNI dans votre travail!
la source
Cela vient de mon expérience, mais je crois toujours que cela peut être appliqué et va dans le sens de ce que GlenH7 a mentionné.
Je travaille entre 3 entreprises réalisant divers projets. Les entreprises sont sœurs les unes des autres avec certaines pratiques et méthodes de travail standard, mais elles sont également uniques à bien des égards. Cela dit, je commence généralement chaque projet à neuf et je veux simplement le faire ou montrer les progrès. Ensuite, si je rencontre un scénario dans lequel je me souviens d'un morceau de code ou d'une fonctionnalité que j'ai écrit pour un projet précédent, je ferai l'une des deux choses (en fonction du temps):
Copiez le code précédent de l'autre projet (ne disposez pas de beaucoup de temps) dans mon projet actuel.
Deuxième méthode la plus rapide
Copiez le code précédent et placez-le dans une bibliothèque commune, puis incluez cette bibliothèque dans le projet en cours (pour faciliter la progression).
2b. Si j'apporte des modifications à l'autre projet (original), je le refactoriserai pour utiliser la nouvelle bibliothèque [mais généralement je ne le ferai pas à moins que je doive retoucher ce projet].
Soyez averti, testez le diable des bibliothèques communes. Les bibliothèques communes signifient la création de dépendances. Les dépendances créent des points de défaillance. Bien que vous ayez besoin de quelque chose de légèrement modifié pour votre implémentation actuelle, vous ne savez pas comment cela changera quoi que ce soit d'autre en utilisant cette bibliothèque.
la source
Parfois, je trouve que copier et coller quelques lignes de code est une meilleure solution. Même en langage humain, lorsque vous voulez dire une phrase que vous avez déjà prononcée juste avec une légère variation, vous la répéterez avec la variation, car cela fait moins de mal à personne.
Cependant, si votre grand module doit être utilisé d'une manière légèrement différente qu'il ne prend pas en charge, ne le clonez pas juste pour modifier quelques lignes car il est très probable que vous souhaitiez étendre les fonctionnalités que la base et le part de clone à l'avenir. Au lieu de cela, rendez-le simplement configurable ou exportez la fonctionnalité que la base et le clone partagent dans un autre module qu'ils utiliseront tous les deux.
la source
N'en faites pas trop. Et si vous n'êtes pas sûr, respectez la portée de l'application jusqu'à ce que vous ayez écrit suffisamment de projets pour voir où vous pouvez réutiliser quoi.
la source