Je travaille dans un entrepôt de données qui source plusieurs systèmes via de nombreux flux et couches avec des dépendances de labyrinthe reliant divers artefacts. À peu près tous les jours, je rencontre des situations comme celle-ci: je lance quelque chose, cela ne fonctionne pas, je passe par beaucoup de code, mais quelques heures plus tard, je me rends compte que j'ai réussi à conceptualiser la carte de processus d'une infime partie de ce que je sais maintenant plus tard dans la journée est nécessaire, donc je demande à quelqu'un et ils me disent que cet autre flux doit être exécuté en premier et que si je vérifiais ici (indiquant une partie apparemment arbitraire d'une énorme pile d'autres dépendances codées), alors j'aurais vu ca. C'est incroyablement frustrant.
Si je pouvais suggérer à l'équipe que ce serait peut-être une bonne idée de faire plus pour rendre les dépendances entre les objets plus visibles et évidentes, plutôt que de les intégrer profondément dans des niveaux de code récursifs, ou même dans les données qui doit être présent car il est alimenté par un autre flux, peut-être en se référant à un paradigme logiciel bien connu et éprouvé - alors je pourrais peut-être rendre mon travail et tout le monde beaucoup plus simple.
C'est un peu difficile d'expliquer les avantages de cela à mon équipe. Ils ont tendance à accepter les choses telles qu'elles sont et à ne pas `` voir grand '' en termes de voir les avantages de pouvoir conceptualiser l'ensemble du système d'une nouvelle manière - ils ne voient pas vraiment cela si vous pouvez modéliser un énorme système efficacement, il est moins probable que vous rencontriez des inefficacités de mémoire, des contraintes uniques d'arrêt de flux et des clés en double, des données absurdes car il est beaucoup plus facile de les concevoir conformément à la vision d'origine et vous ne rencontrerez plus tard tous ces problèmes qui nous vivons maintenant, ce que je sais être inhabituel des emplois passés, mais qu'ils semblent penser comme inévitable.
Alors, quelqu'un connaît-il un paradigme logiciel qui met l'accent sur les dépendances et promeut également un modèle conceptuel commun d'un système en vue d'assurer l'adhésion à long terme à un idéal? En ce moment, nous avons à peu près un gâchis géant et la solution à chaque sprint semble être "juste ajouter cette chose ici, et ici et ici" et je suis le seul à craindre que les choses commencent vraiment à s'effondrer.