Trois principes de l'abstraction du code

Source : Internet
Auteur : utilisateur
Cet article est reproduit à partir du blog de yifeng, le contenu original est le suivant. Le développement de logiciels est une manifestation des principes abstraits des « abstraits ». Le soi-disant "quot;quot;quot;quot;quot;quoting, se réfère à l'extraction de modèles communs de problèmes spécifiques, puis en utilisant des solutions communes pour y faire face. Lors du développement du logiciel, une partie ...

Cet article est reproduit à partir du blog de Yifeng, le contenu original est le suivant.

Le développement de logiciels estPrincipe "abstrait"(Une incarnation de l'abstraction).

La soi-disant «abstraction» se réfère à l'extraction de modèles communs de problèmes spécifiques, puis en utilisant des solutions communes pour y faire face.







Lors du développement de logiciels, d'une part, nous voulons toujours utiliser le code que d'autres ont écrit, et d'autre part, nous voulons réutiliser le code que nous écrivons autant que possible afin de réduire la charge de travail. Pour atteindre les deux objectifs, cela nécessite de l'«abstraction».

Récemment, j'ai lu un article du programmeur américain Derrick Bailey sur les trois principes que "abstrait" devrait suivre.

Principes I. DRY

DRY IS AN ACRONYM FOR DON'T REPEAT YOURSELF, MEANING "DON'T REPEAT YOURSELF."





Le chef-d'œuvre de l'ingénierie logicielle The Pragmatic Programmer a d'abord proposé ce principe. Son implication est que chaque fonction du système devrait avoir une implémentation unique. Autrement dit, si vous rencontrez le même problème plusieurs fois, vous devez extraire une solution commune et ne pas développer la même fonctionnalité encore et encore.

Ce principe est parfois appelé le principe une fois et une seule fois.

Ii, Principes YAGNI

YAGNI est un acronyme pour Vous n'allez pas à elle, ce qui signifie "vous n'en aurez pas besoin."



C'est le principe préconisé par la « programmation extrême », qui se réfère à des fonctionnalités que vous pensez utiles, qui sont pratiquement inutiles. Par conséquent, toutes les autres fonctionnalités, à l'exception des fonctionnalités les plus essentielles, ne doivent pas être déployées, ce qui peut accélérer considérablement le développement.

Le principe directeur derrière cela est d'obtenir le logiciel en cours d'exécution aussi rapidement et aussi facilement que possible (faire la chose simple, l'un.

Mais voici un problème. Si vous regardez attentivement, vous constaterez que le principe DRY n'est pas entièrement compatible avec le principe YAGNI. Le premier poursuit "l'abstraction" et nécessite une solution commune, tandis que le second poursuit "fast ness and saving", ce qui signifie ne pas se concentrer sur l'abstraction, car il est probable que "vous n'en aurez pas besoin". Il y a donc un troisième principe.

Règle des trois principes

Règle de trois, connue sous le nom de « principe triple », se réfère à « l'abstraction » lorsqu'une entité apparaît pour la troisième fois.

Cela signifie que la première fois que vous utilisez une fonctionnalité, vous écrivez une solution de contournement spécifique; la deuxième fois que vous l'utilisez, vous copiez le dernier code; et la troisième fois que vous venez, vous commencez à "abstrait" et écrire les solutions qui sont communes.

Il y a plusieurs raisons à cela :


  • commode. Si une fonctionnalité n'est utilisée qu'à un ou deux endroits, il ne faut pas de temps pour « s'extraire ».
  • Facile à trouver des motifs. L'« abstraction » exige de trouver des modèles de problèmes, et plus il y a de situations dans lesquelles des problèmes surgissent, plus il est facile de voir les modèles, afin qu'ils puissent être « abstraits » avec plus de précision. Par exemple, pour une série de séries, deux éléments ne suffisent pas à déterminer la loi : 1, 2, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
  • Empêche les redondances excessives. Si une fonctionnalité comporte plusieurs implémentations en même temps, elle peut être lourde à gérer et vous devez la modifier à plusieurs endroits. Dans la pratique, une mise en œuvre répétée peut être tolérée tout au plus une fois, et plus ne peut être acceptée.

En résumé, le "triple principe" est le compromis entre le principe DRY et le principe YAGNI, et est l'équilibre entre la redondance du code et le coût de développement, qui vaut la peine d'être suivi lorsque nous "abstraits".

Nous contacter

Le contenu de cette page provient d'Internet et ne reflète pas l'opinion d'Alibaba Cloud ; les produits et services mentionnés sur cette page n'ont aucune relation avec Alibaba Cloud. Si le contenu de la page vous semble problématique, veuillez nous écrire un courriel, nous traiterons le problème dans les 5 jours suivant la réception de votre message.

Si vous constatez des cas de plagiat de la part de la communauté, veuillez envoyer un courriel à : info-contact@alibabacloud.com et fournir des preuves pertinentes. Un membre de notre équipe vous contactera dans les 5 jours ouvrables.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.