Programmazione difensiva
Imparare la programmazione difensiva: validare gli input, evitare i valori null e interrompere presto l’esecuzione con eccezioni chiare.
Programmazione difensiva è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 3 lezioni in totale.
Introduzione
La programmazione difensiva consiste nello scrivere codice che prevede gli errori: input non validi, valori null e stati errati. Aiuta a individuare i problemi tempestivamente.
Convalidare gli input
Controlli gli argomenti all'inizio dei metodi. Se l'input non è valido, generi immediatamente un'eccezione invece di continuare con dati errati.
Codice: convalidare l'input
Questo metodo controlla il denominatore e genera un'eccezione invece di dividere per zero.
public class Main {
static int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("Denominator must not be zero");
}
return a / b;
}
public static void main(String[] args) {
try {
System.out.println(divide(10, 0));
} catch (IllegalArgumentException e) {
System.out.println("Caught: " + e.getMessage());
}
}
}
Evitare i valori null
Eviti di passare o restituire null. Utilizzi invece raccolte vuote, valori predefiniti o Optional per ridurre le NullPointerException.
Codice: controllo di null
Qui viene controllato null e viene generata un'eccezione invece di lasciare che si verifichi successivamente una NullPointerException.
public class Main {
static String upper(String s) {
if (s == null) {
throw new IllegalArgumentException("String must not be null");
}
return s.toUpperCase();
}
public static void main(String[] args) {
try {
System.out.println(upper(null));
} catch (IllegalArgumentException e) {
System.out.println("Caught: " + e.getMessage());
}
}
}
Codice: fail fast
Fail fast: rilevi immediatamente i problemi con messaggi di errore chiari. In questo modo si prevengono bug difficili da comprendere in seguito.
public class Main {
static int[] makeArray(int size) {
if (size < 0) {
throw new IllegalArgumentException("Size must be non-negative");
}
return new int[size];
}
public static void main(String[] args) {
try {
makeArray(-5);
} catch (IllegalArgumentException e) {
System.out.println("Caught: " + e.getMessage());
}
}
}
Verifica sulla programmazione difensiva
Verifica rapida: qual è un obiettivo fondamentale della programmazione difensiva?
Riepilogo
Riepilogo: la programmazione difensiva convalida gli input, evita i valori null e adotta l'approccio fail fast. Rende i programmi più sicuri e più facili da sottoporre a debug.
Domande Frequenti
La lezione «Programmazione difensiva» è gratuita?
Sì — il testo completo di «Programmazione difensiva» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 3 lezioni in totale.
Cosa imparerò in «Programmazione difensiva»?
Imparare la programmazione difensiva: validare gli input, evitare i valori null e interrompere presto l’esecuzione con eccezioni chiare. Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Java Academy?
Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.
Quanto tempo richiede la lezione «Programmazione difensiva»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Java Academy?
Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Lancio ed eccezioni personalizzate
- try-with-resources (AutoCloseable)
- Programmazione difensiva