You are here:
tecnoteca.it
Tesi on line
Sviluppo funzionalità gis su portale ZOPE
Test e Debugging
Linguaggio Python
Linguaggio Python
Python è l'unico vero linguaggio che fornisce un tool di debug così come viene inteso nella gran parte dei linguaggi di programmazione.Va anche sottolineato che di tutti i linguaggi visti, solamente Python può essere considerato un linguaggio ad oggetti compatto e indipendente da ZOPE.
A tal proposito è importante fare subito una distinzione fra Python interno all'ambiente ZOPE e Python esterno (indipendente).
Nel primo caso, come per le ZPT, esiste solamente una funzione di ZOPE che controlla, una volta scritto del codice, la sintassi e la corretta forma; nessun controllo sulla logica viene effettuato, e quindi non rimane altro che l'approccio a test per scoprire eventuali errori logici.
Nel caso invece di Python indipendente è possibile lavorare ed interagire con una interfaccia dedicata per Python dove è possibile trovare tutti i tool necessari per lo sviluppo, dal debug sintattico e logico alla visualizzazione delle classi e relativi metodi.
Il python esterno è fondamentale per avere un ambiente consono alla programmazione che fornisca tutto il necessario per un approccio ordinato.
Molte volte infatti il modo di procedere dal punto di vista operativo è in primo luogo eseguire il debug e i test in questo ambiente e in seguito copiare il codice funzionante all'interno di ZOPE.
Questo modo di interagire con Python e Python-ZOPE non è certamente elegante, ma è l'unico modo attualmente disponibile per affrontare una programmazione logica abbastanza rilevante.
In questo progetto il debug di Python è stato fatto sia all'interno di ZOPE che all'esterno.
Quando il codice è stato particolarmente facile e di poche righe si è preferito lavorare con il debug sintattico di ZOPE e con l'approccio a test; quando invece il codice si è fatto più complesso e di difficile analisi (con semplici test) si è preferito utilizzare l'interfaccia esterna propria di Python per fare il debug e correggere il codice.
Ecco una schermata d'esempio di debug Python sull'interfaccia esterna (non si riportano le schermate di debug interno in quanto uguali alla schermate di debug sulle pagine ZPT):