Incontrare diversi tipi di errori nella programmazione è una parte fondamentale del processo dello sviluppo software. I migliori sviluppatori sono abili nel navigare tra i bug che creano e nel correggerli rapidamente.
Oggi parleremo dei 7 tipi di errori di programmazione più comuni e di come è possibile evitarli.
1. Errori di sintassi
Proprio come le lingue umane, i linguaggi di programmazione hanno regole di scrittura. Ma mentre gli esseri umani sono in grado di comunicare anche con una grammatica non perfetta, i computer non possono ignorare gli errori di sintassi.
Per esempio, diciamo che la sintassi corretta per stampare qualcosa è print(‘ciao’) e dimentichiamo accidentalmente una delle parentesi durante la scrittura del codice. Si verificherà un errore e questo fermerà l’esecuzione del programma.
Man mano che la competenza con il linguaggio di programmazione aumenta si commettono meno errori di sintassi. Il modo più semplice per prevenirli è essere consapevoli di essi fin dall’inizio. Molti editor di testo o IDE vengono forniti con la capacità di avvisarti degli errori di sintassi al momento della scrittura.
2. Errori Logici
Gli errori logici possono essere i più difficili da individuare. Tutto sembra funzionare, ma hai programmato il codice per fare la cosa sbagliata. Tecnicamente il programma è corretto, ma i risultati non sono quelli che ti aspettavi.
Un famoso esempio è avvenuto nel 1999 quando la NASA perse un’astronave a causa di errori di calcolo tra unità inglesi e americane. Il software era stato codificato in un certo modo, ma doveva funzionare in un altro.
Quando scrivi i tuoi test mostrali al responsabile per confermare che la logica che stai scrivendo sia corretta.
3. Errori di Compilazione
Alcuni linguaggi di programmazione richiedono una fase di compilazione. Questo è il momento in cui il tuo linguaggio di alto livello viene convertito in un linguaggio di livello inferiore che il computer possa comprendere meglio. Se c’è un errore nel tuo software, non sarai in grado di testarlo o lanciarlo.
La compilazione avviene su tutti i file del progetto contemporaneamente. Eseguendo il compilatore spesso, otterrai il feedback di cui hai bisogno prima e saprai più facilmente dove affrontare i problemi.
4. Errori di runtime
Gli errori di runtime si verificano mentre un utente sta eseguendo il tuo programma. Il codice potrebbe funzionare correttamente sul tuo computer, ma sul server potrebbe esserci una configurazione diversa o potrebbe interagire in modo tale da causare un errore.
Gli errori in esecuzione sono particolarmente fastidiosi perché influenzano direttamente l’utente finale e possono impedirgli di fare ciò che deve fare.
Assicurati di avere un buon sistema di segnalazione per catturare eventuali errori in esecuzione e aprire automaticamente nuovi bug nel tuo sistema di ticketing.
5. Errori Aritmetici
Un errore aritmetico è un tipo di errore logico ma coinvolge la matematica. Un esempio tipico è l’impossibilità di dividere per zero senza causare un problema. Molte persone non scriverebbero 5 / 0, ma qualcosa nel tuo sistema potrebbe avere il potenziale di essere a volte zero, il che genera questo tipo di errore.
Gli errori aritmetici possono generare errori logici come abbiamo discusso o addirittura errori in fase di esecuzione. Avere test funzionali che includono sempre casi limite come zero o numeri negativi è un ottimo modo per fermare questo tipo di errore sul nascere.
6. Mancanza di Risorse
Il computer su cui viene eseguito il tuo programma allocherà una quantità fissa di risorse per il suo funzionamento. Se qualcosa nel tuo codice costringesse il computer a cercare di allocare più risorse di quelle disponibili, potrebbe creare un errore.
Avere un buon sistema di segnalazione sull’utilizzo delle risorse sui tuoi server può evidenziare quale codice sia più esigente. Ci sono molte applicazioni e servizi di test di carico che si possono utilizzare per testare cosa succede quando più persone cercano di eseguire il tuo codice contemporaneamente.
7. Errori di Interfaccia
Gli errori di interfaccia si verificano quando c’è un disallineamento tra il modo in cui hai inteso il tuo programma e il modo in cui viene effettivamente utilizzato da un altro utente. La maggior parte delle cose nel software segue degli standard che se non vengono rispettati possono portare a questo tipo di errore.
A meno che non vengano gestiti correttamente, gli errori di interfaccia sembreranno sempre un tuo errore quando in realtà è ”colpa” dell’utente che non ha seguito la logica del programma. Ciò può portare a frustrazione da entrambe le parti.
Avere una documentazione chiara e intercettare questi errori per restituirli al chiamante in modo utile è la best practice.
Fonte: Stackoverflow