Una grande classe è generalmente un odore di codice che indica che la classe sta probabilmente tentando di assumersi la responsabilità di fare troppe cose. Se hai mai sperato di scrivere un buon codice SOLID , allora devi iniziare a pensare alla tua classe come essendo un tipo a un solo scopo come per il principio di singola responsabilità - alias la prima iniziale del " acronimo SOLID .
Ecco un altro principio che potresti trovare utile. ASCIUGA o Non ripetere te stesso . È stata la mia esperienza che quando si hanno classi molto gonfiate con più di poche centinaia di righe di codice, è molto probabile che si abbia molta ripetizione all'interno del codice. Questo è solitamente il risultato della codifica Cut-And-Paste che spesso si verifica quando gli sviluppatori hanno fretta di hackerare insieme qualcosa che funziona, con poca attenzione al design e alla manutenzione futura del codice.
Le classi numerose sono spesso indicatori di un ampio accumulo di debito tecnico che sarà probabilmente molto costoso da mantenere e difficile da gestire cambiare.
Quindi, con tutti questi problemi che ho bombardato con te, cosa puoi fare al riguardo? Prima di tutto, esaminare i modi per riorganizzare il codice è un compito ammirevole, ma l'utilizzo di trucchi IDE come tabulazioni, regioni o qualcos'altro per nascondere il caos non ti aiuterà a risolvere il tuo problema e molto probabilmente finirà per rendere il tuo situazione peggiore. Ti consiglio invece di consultare il refactoring del tuo codice.
- Rompi i tuoi metodi lunghi in una raccolta di quelli più piccoli.
- Utilizza questi metodi più piccoli per aiutarti a rimuovere la duplicazione.
- Identifica ciò che la classe intende fare e sposta tutti quei metodi che non fanno ciò che la classe intende in altre classi.
- Sposta le tue nuove classi in nuovi file sorgente, e questo ti darà tutti i benefici che speri di ottenere dai trucchi IDE che ho menzionato prima, oltre a rendere più facile per un intero team lavorare sullo stesso codice base mentre si riduce al minimo il numero di fusioni a 3 vie è probabile che si incontrino se si lascia tutto in un unico file.
Mantenere molte piccole classi nei propri file consentirebbe anche di aggiungere funzionalità attraverso "include" (o usando le istruzioni in C #) esattamente nello stesso modo in cui verrebbero usate in altre lingue.