Design by contract: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
mNessun oggetto della modifica |
||
Riga 1:
'''Design by contract''' or '''DBC''' (in italiano, ''progettazione per contratto'') è una metodologia per progettare il [[software]]. Prescrive che i progettisti di software dovrebbero definire specifiche precise e verificabili delle interfacce dei componenti software, basandosi sulla teoria dei [[tipo di dato astratto|tipi di dati astratti]] e sulla metafora di un [[contratto]] legale.
L'idea centrale del DBC è che le entità software hanno degli obblighi nei confronti di altre entità in
In generale, le routine hanno ''precondizioni'' esplicite che il chiamante deve soddisfare prima di chiamare la routine, e postcondizioni esplicite che descrivono le condizioni che la routine garantirà essere vere nel momento in cui la routine finisce. Così, un contratto assume la seguente forma generale: "Se tu, il chiamante, predisponi certe precondizioni, allora io stabilirò certi altri risultati quando ti avrò terminato. Se tu violi le precondizioni, allora non ti prometto niente." L'implementazione di ogni modulo può allora essere scritta assumendo la correttezza dei moduli che usa (i suoi subappaltatori), purché soddisfi le loro precondizioni.
Riga 20:
Usando la metodologia DBC, il codice stesso del programma non deve mai verificare le condizioni del contratto; il code dovrebbe "fallire malamente", avendo la verifica del contratto come rete di sicurezza. (Questo si pone in netto contrasto con la metodologia della ''programmazione difensiva''.) La proprietà di "fallire malamente" del DBC facilita molto il debugging, perché il comportamento inteso di ogni routine viene specificato chiaramente.
[[Categoria:Programmazione]]
|