Je travaille sur une base de code assez large. Des centaines de classes, des tonnes de fichiers différents, beaucoup de fonctionnalités, prend plus de 15 minutes pour dérouler une nouvelle copie, etc.
Un gros problème avec une base de code aussi volumineuse est qu'elle a plusieurs méthodes utilitaires et telles qui font la même chose, ou a du code qui n'utilise pas ces méthodes utilitaires quand cela est possible. Et les méthodes utilitaires ne sont pas seulement toutes dans une classe (car ce serait un énorme gâchis).
Je suis assez nouveau dans la base de code, mais le chef d'équipe qui y travaille depuis des années semble avoir le même problème. Cela conduit à beaucoup de code et de duplication de travail, et en tant que tel, quand quelque chose se casse, il est généralement divisé en 4 copies essentiellement du même code
Comment pouvons-nous freiner ce modèle? Comme pour la plupart des grands projets, tout le code n'est pas documenté (même si certains le sont) et tout le code n'est pas ... eh bien, propre. Mais en gros, ce serait vraiment bien si nous pouvions travailler sur l'amélioration de la qualité à cet égard afin qu'à l'avenir nous ayons moins de duplication de code, et des choses comme les fonctions utilitaires soient plus faciles à découvrir.
En outre, les fonctions utilitaires se trouvent généralement dans une classe d'assistance statique, dans une classe d'assistance non statique qui fonctionne sur un seul objet, ou est une méthode statique sur la classe avec laquelle elle "aide" principalement.
J'ai eu une expérience dans l'ajout de fonctions utilitaires en tant que méthodes d'extension (je n'avais pas besoin d'interne de la classe, et cela n'était définitivement requis que dans des scénarios très spécifiques). Cela a eu pour effet d'empêcher d'encombrer la classe primaire et autres, mais ce n'est plus vraiment découvrable à moins que vous ne le sachiez déjà