Cos'è la programmazione difensiva?

E' una tecnica che rende i programmi più facili da scrivere e mantenere.
Tanto per fare un esempio, uno stupidissimo programma in Pascal.

Program Programma;
procedure ReadString(Label : String;var S : String);
begin
write(Label+': ');
readln(S);
end;

procedure GetFirstName(var S: String);
begin
ReadString('First name',S);
end;

procedure GetLastName(var S : String);
begin
ReadString('Last name',S);
end;

var FName,LName : String;
begin
GetFirstName(FName);
GetLastName(LName);
write('First name is '''+FName+' '' and Last name is '''+LName+'''');
end.

Ecco, questo programma illustra bene quello che intendo.
Anzitutto, c'è una procedura(per i ragazzi abituati al C: una void function) che prende due parametri: una etichetta di tipo stringa che rappresenta il messaggio da visualizzare ed una variabile S che conterrà il dato letto. Il nome dice bene cosa fà: legge una stringa. Non ci si può sbagliare. I parametri indicano bene a cosa servono. Impossibile sbagliarsi.
Ce ne sono altre due che si appoggiano ad essa e diminuiscono il numero dei parametri: da due si passa ad uno, mentre l'altro viene riempito al volo. Semplice e molto, molto, molto chiaro.

Infine ci sono le due variabili: mentre si vanno ad utilizzare è difficilissimo sbagliarsi e mettere LName al posto di FName, perché basta rifarsi ai nomi dei metodi.

Queste sono le "basi" della programmazione difensiva... ma se vorrete, si può anche vedere dell'altro...
Ciao,

Andrea
posted on venerdì 3 giugno 2005 23:45 | Filed Under [ Programmazione generale ]
Comments have been closed on this topic.