Ho esaminato il codice base che utilizziamo nel lavoro e sono preoccupato per le dimensioni del i pacchetti sono cresciuti. Il codice attuale è modulare, le procedure sono state suddivise in piccole parti funzionali (e verificabili). Il problema che vedo è che abbiamo 100 procedure in un unico pacchetto - quasi un intero modello di dominio.
Avevo pensato di rompere questi pacchetti giù - per creare sottodomini che sono centrati attorno alle relazioni della procedura con altri oggetti. Raggruppa un gruppo di procedure che hanno l'80% delle loro relazioni in tre tabelle, ecc. Il risultato finale sarebbe molti più pacchetti, ma i pacchetti sarebbero più piccoli e ritengo che l'intera base di codice sarebbe più leggibile - quando le procedure si incrociano tra due modelli di dominio è meno difficile stabilire quale pacchetto appartenga.
Il problema che ora ho è quello che sarebbe davvero il vero vantaggio di tutto ciò. Ho esaminato i vantaggi generali della modularità:
1. Re-usability
2. Asynchronous Development
3. Maintainability
Tuttavia, quando considero il nostro ultimo sviluppo, le procedure all'interno dei pacchetti sono già riutilizzabili. In questa fase avanzata raramente abbiamo bisogno di uno sviluppo asincrono e, quando è necessario, semplicemente scaliamo le storie attraverso iterazioni.
Quindi immagino che la mia domanda sia se le persone conoscono i motivi per cui abbatterebbero le classi piuttosto che i metodi all'interno delle classi? In questo momento credo che ci sia un problema con questi mega pacchetti che si stanno formando, ma l'unico vantaggio che posso veramente definire per abbatterli è la leggibilità - qualcosa che l'esperienza acquisita lavorando con loro risolverebbe.