Chapitre 18. Globales
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
Écris des codes-modules timides qui ne révèlent rien d'inutile aux autres modules et qui ne s'appuient pas sur les implémentations des autres modules.
David Thomas et Andrew Hunt, Le programmeur pragmatique : Ton voyage vers la maîtrise
18.0 Introduction
La plupart des langages modernes prennent en charge les fonctions, les classes et les attributs globaux. Il y a un coût caché lorsque tu utilises l'un de ces artefacts. Même lorsque tu crées un objet à l'aide de new(), tu introduiras un couplage étroit avec une classe globale, à moins que tu n'appliques certaines des recettes suivantes.
18.1 Réification des fonctions globales
Problème
Tu as des fonctions globales que tu peux appeler de n'importe où.
Solution
Les fonctions globales entraînent beaucoup de couplage. Réduis leur portée.
Discussion
Découragés par la programmation orientée objet, de nombreux langages mixtes prennent en charge les fonctions globales. Elles créent un couplage et nuisent à la lisibilité car elles sont difficiles à retracer. Au fur et à mesure que le couplage augmente, la maintenabilité et la testabilité deviennent plus problématiques. Tu peux commencer par envelopper la fonction dans un objet contextuel. Par exemple, tu peux trouver l'accès aux ressources externes, l'accès à la base de données, les singletons (voir la recette 17.2, "Remplacer ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access