1. Strumenti per lo sviluppo del software.
Questi strumenti servono a scrivere, testare e gestire il codice in modo efficiente.
| Categoria | Funzione principale | Esempi pratici / tipici |
| Editor di codice / IDE | Scrivere e organizzare codice, evidenziazione sintassi | VS Code, PyCharm, Eclipse, NetBeans |
| Compilatori / Interpreti | Tradurre codice in linguaggio macchina o eseguirlo direttamente | Python Interpreter, GCC, Java JDK |
| Debugging tools | Trovare e correggere errori (bug) nel codice | Debugger integrati in IDE, print/logging |
| Sistemi di controllo versione | Gestire versioni e modifiche del codice | Git, GitHub, GitLab, Bitbucket |
| Strumenti di testing | Testare il codice automaticamente | PyTest, JUnit, Selenium |
| Strumenti di documentazione | Generare documentazione del codice e progetti | Sphinx, Doxygen, Markdown |
2. Supporti per la robustezza dei programmi.
La robustezza significa che il programma è affidabile e resistente agli errori. Si ottiene tramite tecniche e pratiche di programmazione sicura.
Tecniche principali:
- Gestione delle eccezioni
- Previene crash del programma in caso di input errati o errori imprevisti.
- Esempio Python:
- try:
- numero = int(input(“Inserisci un numero: “))
- except ValueError:
- print(“Input non valido!”)
- Validazione dei dati
- Controllare sempre che gli input rispettino i requisiti attesi (tipo, intervallo, formato).
- Esempio: verificare che un numero sia positivo prima di calcolare una radice quadrata.
- Test del software
- Scrivere test automatici (unit test) per verificare che funzioni tutto come previsto.
- Aiuta a prevenire regressioni quando il codice viene modificato.
- Uso di strutture dati adeguate
- Scegliere la struttura dati giusta può prevenire errori logici e migliorare prestazioni.
- Programmazione modulare
- Suddividere il codice in funzioni e moduli separati, in modo che eventuali errori siano isolati.
- Logging
- Registrare informazioni sulle operazioni del programma e sugli errori per facilitare debug e manutenzione.
Consiglio pratico per il laboratorio:
- Saper usare un IDE con debugger integrato ti fa risparmiare tempo.
- Sempre gestire eccezioni e validare input, anche negli esercizi semplici.
- Strutturare il codice in moduli e funzioni chiare aumenta la leggibilità e riduce i bug.
