[Python] python e il debugging

2007-01-22 Per discussione mauro morichi
premesso, uso python soprattutto come supporto scripting nel mio lavoro
quindi la conoscenza non e' totale e approfondita, ma dettata
soprattutto dal fatto che mi serve una cosa da mettere in piedi al volo
e che una volta collaudata funzioni e sia manutenibile con una certa
facilita.

passiamo al conquibus.
non so' se si tratti di un fault mio, o di mancata conoscenza, ma
vediamo di porre la domanda:

una volta scritto un bel pezzo di codice, e' possibile verificare a
priori come un normale compilatore farebbe, se tutto il codice e'
coerente (al di la' di errori sintattici che ovviamente vengono rilevati
subito) e quindi le classi chiamate ci sono tutte, che le funzioni
abbiano tutti i parametri corretti e similia?
mi capita, infatti, di preparare del codice, ma di dover poi inventarmi
un ambiente per essere sicuro di aver testato tutte le possibili parti
inserite nel prg, altrimenti rischio, che un qualche errore si verifichi
solo in fase di lavoro reale (parlo sempre di errori dovuti a un errata
mia scrittura di codice) e non in fase di testing in quanto quel
particolare blocco di codice viene eseguito solo in particolari
condizioni.

spero di essermi spiegato.

-- 

Nonsolocomputer.com
Mauro Morichi
mauro [at] nonsolocomputer [dot] com
mauro [at] nonsolocomputer [dot] it
GNU/Linux User 12521
IT Reti e Infrastrutture
Membro del Majaglug.net

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python e il debugging

2007-01-22 Per discussione Y3s
[CUT]

> una volta scritto un bel pezzo di codice, e' possibile verificare a
> priori come un normale compilatore farebbe, se tutto il codice e'
> coerente (al di la' di errori sintattici che ovviamente vengono rilevati
> subito) e quindi le classi chiamate ci sono tutte, che le funzioni
> abbiano tutti i parametri corretti e similia?

Devi scrivere i test unitari per ogni "pezzo" di codice. Vedi unittest
della libreria standard e se non ti convince fatti un giro su
google...anche nel caso di tipizzazioni statiche, un normale compilatore
rileva una piccolissima percentuale degli errori commessi, gli unit test
sono necessari in qualunque ambiente. 

> mi capita, infatti, di preparare del codice, ma di dover poi inventarmi
> un ambiente per essere sicuro di aver testato tutte le possibili parti
> inserite nel prg, altrimenti rischio, che un qualche errore si verifichi
> solo in fase di lavoro reale (parlo sempre di errori dovuti a un errata
> mia scrittura di codice) e non in fase di testing in quanto quel
> particolare blocco di codice viene eseguito solo in particolari
> condizioni.

E allora già fai una parte del lavoro, devi solo organizzarti meglio :-)
Per ogni modulo o classe o comunque unità funzionale (la granularità la
decidi tu) scrivi un test che simula ciò che dovrebbe fare in realtà, e
i casi in cui ogni metodo deve fallire, ad ogni modifica lanci la test
suite e ti accorgi immediatamente se hai rotto qualcosa...cerca anche
"sviluppo test-driven" o qualcosa di simile su google!

Ciao

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python e il debugging

2007-01-22 Per discussione mauro morichi
Il giorno lun, 22/01/2007 alle 10.25 +0100, Y3s ha scritto:
> E allora già fai una parte del lavoro, devi solo organizzarti
> meglio :-)

ok, allora hai confermato il mio pensiero...
si tratta, ma rientra nella buona stesura del modulo, di migliorare ogni
singolo componente semplificandolo e rendendolo abbastanza trasparente
da permettere un testing approfondito quanto basta per simulare ogni
possibile evento simulabile.

grazie.

-- 

Nonsolocomputer.com
Mauro Morichi
mauro [at] nonsolocomputer [dot] com
mauro [at] nonsolocomputer [dot] it
GNU/Linux User 12521
IT Reti e Infrastrutture
Membro del Majaglug.net

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python e il debugging

2007-01-22 Per discussione Lawrence Oluyede

ok, allora hai confermato il mio pensiero...
si tratta, ma rientra nella buona stesura del modulo, di migliorare ogni
singolo componente semplificandolo e rendendolo abbastanza trasparente
da permettere un testing approfondito quanto basta per simulare ogni
possibile evento simulabile.


Aggiungo anche che puoi usare tool come pylint per fare una analisi
del codice. È piuttosto utile!

--
Lawrence
http://www.oluyede.org/blog
http://www.neropercaso.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Re: python e il debugging

2007-01-22 Per discussione Nicola Larosa
Lawrence Oluyede wrote:
> Aggiungo anche che puoi usare tool come pylint per fare una analisi
> del codice. È piuttosto utile!

Per non parlare di tool che controllano lo *stile* del codice: ;-)

pep8.py
http://mail.python.org/pipermail/python-announce-list/2006-December/005491.html

PythonTidy
http://cheeseshop.python.org/pypi/PythonTidy/1.10


-- 
Nicola Larosa - http://www.tekNico.net/

You've obviously never tried to reverse engineer a chip using an electron
microscope. [...] That's like looking at the grains of sand on a beach
and trying to map out the coastline of Hawaii. -- Cutie Pi, July 2006

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Re: python e il debugging

2007-01-22 Per discussione Lawrence Oluyede

pep8.py
http://mail.python.org/pipermail/python-announce-list/2006-December/005491.html


questo sembra interessante


PythonTidy
http://cheeseshop.python.org/pypi/PythonTidy/1.10


Questo mi provoca un po' di prurito, non mi piacciono i tool così
invasivi, nello stesso modo in cui non mi piace tidy per HTML

--
Lawrence
http://www.oluyede.org/blog
http://www.neropercaso.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Consiglio su soluzione da adottare

2007-01-22 Per discussione raffaele salmaso

On 1/21/07, Salvatore MONACO <[EMAIL PROTECTED]> wrote:

userei in quel caso XML ma punto a due file di testo uno con i dati e
uno per scivere i log

ok, allora adesso hai due problemi ;)

impara YAML

--
()_() | NN KAPISCO XK' CELLHAVETE T'ANNTO CN ME SL | +
(o.o) | XK' SKRIVO 1 P'HO VELLOCE MA HALL'ORA DITTELO  | +---+
'm m' | KE SIETE VOI K CI HAVVETE PROBBLEMI NO PENSATECI   |  O  |
(___) | HE SENZA RANKORI CIA   |
   raffaele punto salmaso at gmail punto com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python