Che cos’è la programmazione difensiva?

La programmazione difensiva è la creazione di codice per software per computer progettato per evitare problemi problematici prima che si presentino e rendere il prodotto più stabile. L’idea alla base di questo approccio è quella di creare un programma che sia in grado di funzionare correttamente anche attraverso processi imprevisti o quando vengono effettuate immissioni impreviste da parte degli utenti. La programmazione difensiva spesso si basa su una combinazione alquanto paradossale di eliminazione del codice non necessario, garantendo al contempo la generazione di quantità sufficienti per gestire tutte le possibili azioni dell’utente. Anche test approfonditi sono importanti per questo processo, così come la creazione di software che possono essere facilmente verificati e verificati.

Per molti versi, il concetto di programmazione difensiva è molto simile a quello di guida difensiva, in quanto i problemi vengono considerati prima che si presentino. Un metodo comune per tentare di farlo è attraverso la creazione di codice che ha lo scopo di affrontare qualsiasi possibile scenario lanciato contro di esso. I programmatori in genere cercano di determinare i modi in cui è probabile che gli utenti inseriscano input o tentano di utilizzare software che potrebbe essere al di fuori dei parametri previsti. L’uso della programmazione difensiva è costruito sulle fondamenta del codice stesso, che è progettato per essere in grado di gestire input strani senza crash o incontrare un evento di errore.

Apparentemente in contrasto con questo elemento di programmazione difensiva, tuttavia, un codice ben scritto deve essere privo di voci non necessarie. Più righe di codice fanno parte di un programma, più possibilità ci sono di introdurre errori. Le pratiche di programmazione difensive in genere incoraggiano gli sviluppatori a eliminare il codice non necessario e a semplificare i programmi quando possibile. Occorre quindi trovare un equilibrio tra una programmazione che tiene conto di scenari imprevisti e un codice che contiene troppi contenuti non necessari senza fornire un vantaggio.

Il testing è uno degli aspetti più importanti della programmazione difensiva. Nonostante un grande sforzo per garantire che il codice sia perfetto, gli sviluppatori quasi sempre perdono un errore o creano codice con risultati imprevisti. Test approfonditi da parte di tester professionisti consentono a uno sviluppatore di avere centinaia di ore di utilizzo del prodotto per trovare errori prima che il software venga rilasciato.

Anche il codice stesso che viene creato nella programmazione difensiva è un aspetto vitale di questo processo. Non solo dovrebbe essere semplificato il più possibile, ma dovrebbe anche essere presentato in modo chiaro e conciso. Gli audit sono spesso utilizzati da uno sviluppatore per rivedere il codice che è stato creato. Ciò consente ad altri programmatori di vedere il lavoro che è stato svolto e il codice leggibile è importante perché questo sia una parte realistica dello sviluppo.