a4-dev team mailing list archive
-
a4-dev team
-
Mailing list archive
-
Message #00123
Python Style Rules
Buondì,
Citando lo Zen Of Python: "Beautiful is better than ugly" e "Readability
counts" [da qualche parte c'è scritto anche "consistency matters"]. Per
questi motivi ritengo che sia d'obbligo adottare delle regole fisse per
il codice. Queste regole dovrebbero essere:
PEP 8: http://www.python.org/dev/peps/pep-0008/
PEP 257: http://www.python.org/dev/peps/pep-0257/
Se non avete famigliarità con quelle due specifications, oppure se
semplicemente volte avere un comodo aiutante, vi consiglio caldamente di
dare un'occhiata a questi tools:
PyFlakes
========
È il tool più leggero e veloce in assoluto. Non si focalizza tanto sul
linting, quanto sullo scovare possibili errori nel codice (come
variabili inutilizzate). È abbastanza intelligente, quindi è rarissimo
che dia dei warnings falsi.
PyLint
======
Si tratta di tool abbastanza lento e pignolo, ma il più completo in
circolazione. Spesso gli errori che trova non sono errori, ma è facile
zittirlo. È possibile sopprimere determinati messaggi in tre modi
(combinabili tra loro):
1. Dalla riga di comando.
2. Con un file di configurazione.
3. Mettendo nei file .py dei commenti come questo:
#pylint:disable-msg=123
Una volta addomesticato (i.e. una volta soppressi quei 5/6 warnings
inutili) è un tool davvero utile. Cerca sia errori nello stile (PEP8)
sia errori nel funzionamento del codice.
PyChecker
=========
È un tool abbastanza simile a PyLint, ma più veloce e meno pignolo.
Purtroppo da diversi anni non è più mantenuto, quindi io evito di usarlo
nei miei progetti a causa di alcuni bug che ogni tanto appaiono. Inoltre
se usate feature di Python 2.6 (come per esempio 'with'), PyChecker
*non* funzionerà.
PEP8
====
È il tool che usate tutti voi. L'ho provato personalmente e devo dire
che non mi ci trovo né bene né male. Di feature in più rispetto a PyLint
e PyFlakes non ne ha (anzi, fa meno checks) e non c'è modo di sopprimere
i falsi positivi. Inoltre, se ricordo bene, alcune regole se le inventa.
Però è veloce e un tool in più (specie se ben mantenuto) non fa mai
male, quindi a voi la scelta. :-)
Suggerimenti e critiche sono ben accetti.
Thanks,
Andrea
--
Andrea Corbellini
Ubuntu Member | http://www.ubuntu.com
BeeSeek Member | http://www.beeseek.org
Attachment:
signature.asc
Description: This is a digitally signed message part
Follow ups