Questi errori sono rilevabili dal sistema e semplici da evitare: abbracciano l'immutabilità.
Almeno dichiara il tuo documentList
come final
. Questo fa immediatamente in modo che il compilatore ti informi su questo particolare errore. Sfortunatamente, Java non ha tutte le cose buone dalla programmazione funzionale, come le vere liste immutabili e le funzioni di ordine superiore (ancora), ma almeno final
significa che non puoi sostituire la tua lista iniziale con una completamente nuova. Puoi ancora commettere errori come chiamare documentList.clear()
, ma è molto più improbabile che accada per caso.
Quindi, come al solito, cerco di non passare nemmeno per la strada di dover rilevare tali errori, ma cerco di scrivere codice in uno stile che garantisca immediatamente che un tale errore non possa accadere affatto . Per buone ragioni, la mutabilità è scritta come t-r-o-u-b-l-e, quindi non percorrere mai quella strada a meno che non sia necessario. Più parti del tuo codice possono essere dichiarate final
, meglio è.