OVH Cloud OVH Cloud

équivalent de perltidy

4 réponses
Avatar
Benoît Dejean
bonjour,
connaissez-vous un reformateur de code python tel que perltidy (pour perl
comme son nom l'indique) ?

4 réponses

Avatar
F. Petitjean
On Sun, 17 Oct 2004 18:08:48 +0200, Benoît Dejean wrote:
bonjour,
connaissez-vous un reformateur de code python tel que perltidy (pour perl
comme son nom l'indique) ?
Non et ce me semble bien normal et c'est heureux qu'il n'y ait pas de

module pythontidy, c'est la preuve que de base l'interpréteur python
incite le prograimmeur à écrire un code suffisamment clair.
Naturellement en python l'indentation est significative (une sémantique
est associée à cette construction syntaxique) ce qui fait qu(en pratique
on ne peut pas mélanger les espaces et les tabulations. Donc pour
répondre à la question le module tabnanny de la bibliothèque standard
pourrait répondre à la question initiale. Cependant en pratique je n'ai
jamais eu à m'en servir, vaut mieux paramétrer son éditeur pour
transformer tous les caractères tabulation en 4 caractères espace.
Avoir un code "tidy" c'est bien, mais avoir un code correct c'est
mieux. Je vous conseille donc de passer systématiquement pylint (voir
logilab.org) (et éventuellement envoyer une bonne gueulante aux auteurs
pour expliquer que pylint se plante lamentablement sur un pauvre module
avec deux simples fonctions (produits scalaire et vectoriel) si on
utilise des tabulations pour indenter).
Bref tout n'est pas rose mais la situation est bien meilleure qu'avec
perl. (troll detected)

Avatar
Gilles Lenfant
"Benoît Dejean" a écrit dans le message de news:

bonjour,
connaissez-vous un reformateur de code python tel que perltidy (pour perl
comme son nom l'indique) ?


Avec Python, c'est moins nécessaire qu'avec Perl.

Néanmoins, il y a le module tabnanny dans la distro standard qui indique les
indentations douteuses (la plupart du temps laissée par des éditeurs mal
configurés qui mélangent les tabs et espaces pour "optimiser" l'indentation)

Quand on édite avec (x)emacs et le mode Python, l'indentation est
automatiquement correcte.

--
Gilles

Avatar
Benoît Dejean
Le Sun, 17 Oct 2004 22:19:01 +0200, Gilles Lenfant a écrit :

"Benoît Dejean" a écrit dans le message de news:

Néanmoins, il y a le module tabnanny dans la distro standard qui indique les
indentations douteuses (la plupart du temps laissée par des éditeurs mal
configurés qui mélangent les tabs et espaces pour "optimiser" l'indentation)

Quand on édite avec (x)emacs et le mode Python, l'indentation est
automatiquement correcte.


comme tu peux le voir avec perltidy, ce qui est intéressant, c'est sa
capacité à formater les constantes (littérales) ce qui permet d'avoir
des initialisations plus claires.

http://perltidy.sourceforge.net/node001.html

par exemple

Avatar
Alexandre Fayolle
Le 17-10-2004, F. nous disait:
Avoir un code "tidy" c'est bien, mais avoir un code correct c'est
mieux. Je vous conseille donc de passer systématiquement pylint (voir
logilab.org) (et éventuellement envoyer une bonne gueulante aux auteurs
pour expliquer que pylint se plante lamentablement sur un pauvre module
avec deux simples fonctions (produits scalaire et vectoriel) si on
utilise des tabulations pour indenter).


Nous somme friands de rapport d'anomalies, et nous essayons de les
corriger. Encore faut-il qu'ils nous parviennent, avec les informations
nécessaire pour reproduire l'erreur... De mémoire, je n'ai pas vu passer
de courier signalant ce problème, ni par courrier privé, ni sur la
liste de discussion python-projects de logilab (malheureusement
inaccessible ce matin, suite à un crash de disque dur, mais on y
travail).

Au niveau de la forme, il est souvent plus productif d'envoyer un
rapport d'anomalie courtois, plutôt qu'une "bonne gueulante", soit dit en
passant. Et, pour autant que je sache, c'est pas spécialement propre à
Logilab...

--
Alexandre Fayolle LOGILAB, Paris (France).
http://www.logilab.com http://www.logilab.fr http://www.logilab.org