Test e buone pratiche
Scrivere codice leggibile
Sezione intitolata “Scrivere codice leggibile”Per scrivere codice affidabile, comincia dalla leggibilità.
Scegli nomi chiari:
<?php$prezzoFinale = 18.50;È più chiaro di:
<?php$pf = 18.50;Funzioni piccole
Sezione intitolata “Funzioni piccole”Una funzione piccola è più facile da capire e da testare.
<?phpfunction calcolaSconto(float $prezzo): float { if ($prezzo > 50) { return 10; }
return 0;}Questa funzione fa una cosa: decide lo sconto.
Validare gli input
Sezione intitolata “Validare gli input”I dati che arrivano da form, URL o file esterni vanno controllati prima dell’uso.
<?php$email = $_POST["email"] ?? "";
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "Email non valida"; exit;}La validazione riduce gli errori e migliora la sicurezza.
Un test automatico semplice
Sezione intitolata “Un test automatico semplice”Un test automatico verifica che una parte del codice produca il risultato previsto.
<?phpfunction somma(int $a, int $b): int { return $a + $b;}
if (somma(2, 3) !== 5) { echo "Test fallito"; exit(1);}
echo "Test riuscito";Nei progetti reali si usano strumenti come PHPUnit, ma l’idea è la stessa: controllare il risultato atteso.
Sicurezza essenziale
Sezione intitolata “Sicurezza essenziale”Abitudini importanti:
- valida i dati in ingresso
- usa
htmlspecialcharsquando stampi dati in HTML - usa query preparate per il database
- non salvare password in chiaro
- non mostrare errori tecnici in produzione
La sicurezza non è un capitolo da affrontare alla fine, ma una serie di scelte da applicare in ogni pagina.
Rendere un test più leggibile
Sezione intitolata “Rendere un test più leggibile”Anche senza strumenti esterni puoi separare preparazione, azione e controllo.
<?phpfunction calcolaTotale(float $prezzo, int $quantita): float { return $prezzo * $quantita;}
$risultato = calcolaTotale(5, 3);
if ($risultato !== 15.0) { echo "Test fallito: totale non corretto"; exit(1);}
echo "Test riuscito";Il test indica chiaramente il risultato atteso.
Buone pratiche quotidiane
Sezione intitolata “Buone pratiche quotidiane”Per migliorare il codice non servono regole complicate. Parti da queste:
- una variabile deve avere un nome comprensibile
- una funzione deve avere un compito principale
- i dati esterni vanno controllati prima di usarli
- gli errori vanno letti, non ignorati
- il codice duplicato spesso merita una funzione
Prima di considerare finita una pagina
Sezione intitolata “Prima di considerare finita una pagina”Prova almeno un caso normale, un caso vuoto e un caso sbagliato. Per esempio, se ricevi un’email, prova un’email valida, un campo vuoto e un testo che non è un’email.