Ho un progetto di dimensioni sufficientemente grandi che non riesco più a mantenere ogni aspetto nella mia testa. Ho a che fare con un numero di classi e funzioni in esso e sto trasmettendo dati.
Con il passare del tempo ho notato che continuavo a ricevere errori, perché ho dimenticato quale forma precisa devono avere i dati quando li passo a funzioni diverse ( ad esempio, una funzione accetta e genera un array di stringhe, un'altra funzione, che ho scritto molto più tardi, accetta le stringhe che sono conservate in un dizionario, ecc., quindi devo trasformare le stringhe con cui sto lavorando dal disporne in un array per averle in un dizionario ).
Per evitare di dover sempre capire cosa ha funzionato, ho iniziato a considerare ogni funzione e classe come "entità isolata", nel senso che non può fare affidamento sul codice esterno che fornisce l'input corretto e deve eseguire i controlli di input stesso (o, in alcuni casi, rifondere i dati, se i dati sono forniti nella forma sbagliata).
Ciò ha notevolmente ridotto il tempo che passo a fare in modo che i dati che passo intorno si adattino a tutte le funzioni, perché le classi e le funzioni stesse ora mi avvisano quando alcuni input sono errati (e talvolta lo correggono) e non lo faccio devo andare con un debugger attraverso l'intero codice per capire dove qualcosa è andato in tilt.
D'altro canto, questo ha anche aumentato il codice generale.
La mia domanda è: se questo stile di codice è appropriato per risolvere questo problema?
Naturalmente, la soluzione migliore sarebbe quella di refactificare completamente il progetto e assicurarsi che i dati abbiano una struttura uniforme per tutte le funzioni - ma dal momento che questo progetto è in costante crescita, finirei per spendere di più e preoccuparmi del codice pulito piuttosto che aggiungere effettivamente nuove cose .
(FYI: Sono ancora un principiante, quindi per favore scusate se questa domanda era ingenua; il mio progetto è in Python.)