Lorsque j'apporte des modifications à de grands systèmes, je suis souvent confronté au problème selon lequel certaines fonctionnalités doivent obtenir des données d'une autre pièce, mais elles se trouvent dans différentes parties d'une arborescence d'appels profonde et ramifiée, pouvant éventuellement circuler dans des écouteurs d'événements, des appels différés, etc. De cette façon, un simple changement peut gonfler rapidement.
Une citation connexe du billet de blog de Yossi Kreinin à http://www.yosefk.com/blog/i-want-a-struct-linker.html :
Vous avez une sorte de structure de données que vous transmettez beaucoup. Bientôt, la chose la plus précieuse de la structure n'est pas les données qu'elle conserve, mais le fait qu'elle est disponible tout au long d'un flux de contrôle velu.
Les variables globales sont un moyen classique de laisser le code "crier" vers du code distant, mais elles sont connues pour être problématiques. Les variables à portée dynamique sont un moyen plus restreint, mais elles sont également problématiques.
Existe-t-il des recherches sur les langages de programmation visant à résoudre ce problème? Pouvons-nous faciliter l'ajout de flux de données imprévus à une grande base de code, tout en ayant des vérifications statiques, des tests unitaires faciles et d'autres avantages?