Python dispone di numerosissimi strumenti che facilitano e completano l’esperienza di programmazione. Il problema è, appunto, che sono troppi. Ogni volta bisogna ricercare i migliori fra la sterminata costellazione di strumenti di sviluppo.
E quindi ho deciso di fare una lisa. Soprattutto per me, dato che ogni volta che mi capita di reinstallare il sistema perdo un bel po’ di tempo a ricordarmi quali fossero tutti i tools che avevo installato.
IDE
La scelta dell’IDE è sempre la più importante. Sebbene Python non necessiti di chissà quale IDE avanzato, un po’ di comodità in più non fa certo male. La mia scelta ricade a pari merito su due IDE molto importanti:
Per il momento sto utilizzando la seconda configurazione ma in passato ho usato la prima. A voi la scelta.
CHECKER
Python è un linguaggio interpretato, ragion per cui gran parte degli errori di sintassi vengono fuori solamente in fase di esecuzione. Ci sono però programmi in grado di individuarli da subito.
Questa è la mia scelta. Fa tutte le cose di PyChecker e, in aggiunta, fa anche alcuni controlli riguardo le convenzioni stilistiche di Python. Un ottimo “tutor”. Inoltre è integrato con PyDev, quindi se usate Eclipse è veramente una mano santa.
DEBUGGER
Il debug in python è integrato. Basta importare il modulo pdb e lanciare il programma con:
Vi rimando alla guida ufficiale per maggiori informazioni.
TESTING FRAMEWORK
Gli ambienti di test sono strumenti che permettono di scrivere dei test per verificare il buon funzionamento di una classe o di un modulo che abbiamo appena scritto. In Java io utilizzavo JUnit. È quindi naturale che in Python abbia scelto:
PyUnit ricalca molto da vicino la sintassi di JUnit. Inoltre è integrato con Eclipse. Per test semplici è veramente intuitivo, per roba più complessa basta dare una letta alla documentazione.
CODE COVERAGE
Gli strumenti di code coverage sono tools che tengono traccia di quale parte di codice eseguiamo durante un test e di quale non eseguiamo. È molto facile infatti che durante un test capiti di trovarsi ad eseguire, ad esempio, solamente un ramo di un IF e che, come al solito, l’errore si nasconda nel ramo che non eseguiamo mai. I programmi di code coverage ci segnalano proprio questa eventualità.
Questo è il programma di coverage in Python per eccellenza. Integrata con PyDev. Esiste anche un espansione (figleaf) che però non ho mai avuto modo di provare.
DOCUMENTAZIONE
Scrivere la documentazione è essenziale. Generare la documentazione dai commenti del codice sorgente è ancora più essenziale in quanto ci risparmia una marea di tempo. In Java esiste il famoso javadoc. Ovviamente il Python non è da meno.
Epydoc, di cui ho scritto anche una rapida guida tempo fa, è un tool fenomenale. Non è perfettamente integrato con Python 3 (almeno nell’ultima versione che ho usato) ma fa dannatamente bene il suo lavoro.
Credo che per il momento la lista sia piuttosto esaustiva. Spero vi sia utile.
Alla prossima.

Recent Comments