Trabajo en una base de código bastante grande. Cientos de clases, toneladas de archivos diferentes, muchas funcionalidades, lleva más de 15 minutos extraer una copia nueva, etc.
Un gran problema con una base de código tan grande es que tiene bastantes métodos de utilidad y que hacen lo mismo, o tiene un código que no usa estos métodos de utilidad cuando podría. Y también los métodos de utilidad no son todos en una sola clase (porque sería un gran desastre).
Soy bastante nuevo en la base del código, pero el líder del equipo que ha estado trabajando en él durante años parece tener el mismo problema. Conduce a una gran cantidad de código y duplicación de trabajo, y como tal, cuando algo se rompe, generalmente se divide en 4 copias del mismo código.
¿Cómo podemos frenar este patrón? Al igual que con la mayoría de los proyectos grandes, no todo el código está documentado (aunque algunos lo están) y no todo el código está ... bueno, limpio. Pero, básicamente, sería realmente bueno si pudiéramos trabajar en mejorar la calidad a este respecto para que en el futuro tuviéramos menos duplicación de código, y cosas como las funciones de utilidad fueran más fáciles de descubrir.
Además, las funciones de utilidad generalmente están en alguna clase auxiliar estática, en alguna clase auxiliar no estática que funciona en un solo objeto, o es un método estático en la clase con el que principalmente "ayuda".
Tuve un experimento al agregar funciones de utilidad como métodos de Extensión (no necesitaba nada interno de la clase, y definitivamente solo se requería en escenarios muy específicos). Esto tuvo el efecto de evitar el desorden en la clase primaria y demás, pero ya no se puede descubrir a menos que ya lo sepas.