Ciao,
avrei bisogno di un vostro veloce consiglio approposito di approcci di programmazione, in particolare vorrei sapere voi come vi comportate di fronte alla necessità di verificare che i parametri passati ad un metodo siano corretti.
Vi faccio un esempio:
mettete il caso in cui in una mappa ho dei codici (di una dimensione fissata, e che possono essere composti solo da determinati caratteri), e a questi codici è associato un qualcosa (non ci interessa cosa).
Ora, i 2 metodi fanno la medesima cosa, ovvero tornare true se un determinato codice è presente nella mappa, e false altrimenti.
codice:public boolean controlloCodice(String code) { if (!controlloCode(code) || !map.containsKey(code)) return false; return true; }Il primo metodo però si preoccupa prima di verificare che il codice passato sia corretto, ovvero che sia di una certa lunghezza e che non sia composto da caratteri proibiti.codice:public boolean controlloCodice(String code) { if (!map.containsKey(code)) return false; return true; }
Il secondo invece non se ne cura e delega tutto al metodo della mappa (che presumo ci metta un po' più tempo a fare i suoi controlli).
Ora, a vostro parere qual'è la soluzione più corretta?
Io sono molto combatutto, perchè da un lato mi dico che è sempre corretto verificare i parametri che si passano ad un metodo, dall'altro però mi parrebbe un controllo inutile (o perlomeno in più) dal momento che ci penserà il metodo della mappa a dirmi se il codice esiste o meno, indifferentemente dal codice che gli passo.
Grazie

Rispondi quotando

