Programmazione difensiva e programmazione contrattuale

  • Un primo approccio è quello che una funzione controlli ogni dato che le viene passato come parametro o come risultato di una chiamata ad un'altra funzione ed ognidato che la funzione stessa restituisce
  • Questo approccio prende il nome di programmazione difensiva
  • I controlli possono essere di molti generi, non solo semplici range check (controlli di campo)
  • Risulta evidente che questa strategia porta ad un inevitabile doppio controllo degli errori, da parte di ogni funzione e da parte di chi l'ha chiamata
  • Alcuni controlli richiedono poi molto tempo o molte risorse, quindi si decide di tralasciarli
  • A volte si decide, per semplificare, di tralasciare alcuni controlli, per evitare di appesantire troppo la funzione o l'intero programma
  • Come risultato, alcuni dati non saranno mai controllati

© Ing. Stefano Salvi - All rights reserved