Programmazione difensiva e programmazione contrattuale

  • Un diverso approccio, detto programmazione contrattuale è quello di stabilire una regola su chi deve eseguire i controlli
  • Ad esempio, si può stabilire che ogni procedura controlli e garantisca i dati che ritorna
  • In questo modo sicuramente non si duplicano i controlli
  • Probabilmente sarà più semplice implementare i controlli, perchè la routine deve solamente garantire il suo lavoro
  • Nel caso di dati inseriti dall'utente, la routine che leggerà i dati controllerà la loro correttezza
  • Naturalmente, un programma che utilizza una funzione deve verificare i codici di errore restituiti dalla funzione stessa (es puntatore NULL ritornato da new)

© Ing. Stefano Salvi - All rights reserved