Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Convertir código a pep8

Estas en el tema de Convertir código a pep8 en el foro de Python en Foros del Web. Hola, tengo una pila de código llena de tabs y cosas feas hecha antes de haber conocido pep8. Creo que algo puedo rescatar, pero se ...
  #1 (permalink)  
Antiguo 27/06/2013, 07:26
ger84
Invitado
 
Mensajes: n/a
Puntos:
Convertir código a pep8

Hola, tengo una pila de código llena de tabs y cosas feas hecha antes de haber conocido pep8. Creo que algo puedo rescatar, pero se puso feo verlo y ejecutarlo desde distintos ides, peor. ¿Existe algún buen convertidor automático a pep8?, ¿cuáles son los mas respetados por la comunidad?.
  #2 (permalink)  
Antiguo 27/06/2013, 11:17
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Convertir código a pep8

4 espacios de indentación != PEP8 (o Guia de Estilo)

No se que estés usando como editor de texto pero cualquier editor decente de cambia los tabs por espacios.

Dependiendo de tu editor hay plugins que te checan todo el PEP-8 mientras estas escribiendo el código.

Como te dije antes, todo depende de que editor estés usando.
  #3 (permalink)  
Antiguo 27/06/2013, 13:21
ger84
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Convertir código a pep8

Cita:
Iniciado por razpeitia Ver Mensaje
4 espacios de indentación != PEP8 (o Guia de Estilo)

No se que estés usando como editor de texto pero cualquier editor decente de cambia los tabs por espacios.

Dependiendo de tu editor hay plugins que te checan todo el PEP-8 mientras estas escribiendo el código.

Como te dije antes, todo depende de que editor estés usando.
Claro, esto lo entiendo, no me refiero solo a los tabs ni tampoco se si se puediera reconvertir todo a pep8 (ni siquiera conozco todas las puntos a seguir de pep 8), solo quisiera que de alguna manera convierta o me ayude a convertir:
  • 4 espacios en lugar de tabs
  • lineas de 80 caracteres (que no estropee el código)
  • espacio entre funciones (2 lineas en blanco)
  • podría ser que me avise de las clases que no cumplan CapWords
  • imports en distintas lineas (no me preocupa tanto el orden en principio)
  • espacios alrededor de operadores
  • cumpla la recomendación de los docstrings de pep8

pff bastante, pero ahora que estoy releyendo mucho de mi código noto la diferencia, uso generalmente sublime text2, ninja-ide y pydev(eclipse) ocasionalmente, pero he usado un montón de ides anteriormente sin haberlos configurado bien.
  #4 (permalink)  
Antiguo 27/06/2013, 15:24
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 10 meses
Puntos: 35
Respuesta: Convertir código a pep8

Si mal no recuerdo ninja-ide te subraya las porciones de código que no siguen el PEP-8. Por otro lado recordá que las funciones de una misma clase se separan con una sola línea en blanco.
  #5 (permalink)  
Antiguo 27/06/2013, 18:19
ger84
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Convertir código a pep8

Cita:
Iniciado por carbon Ver Mensaje
Si mal no recuerdo ninja-ide te subraya las porciones de código que no siguen el PEP-8. Por otro lado recordá que las funciones de una misma clase se separan con una sola línea en blanco.
claro que lo hace, pero pensé que podría haber algo un poco mas automatizado, por ejemplo, que me recorra clase por clase al estilo depurador, y me vaya avisando "esta clase o este bloque no cumple pep8" "¿desea hacerla cumplir? si-no" je algo así...

O bien directamente, algun scritp:
Código Consola:
Ver original
  1. $ convertToPep8 miscript.py
+ un archivo de configuración del tipo
Código:
#convertToPep8.conf
    convert tabs to 4 spaces = yes
    split lines (80) = yes
    blank line functions = 2
    split imports = yes
    spaces around operator = 1
    force docstrings to pep8 = yes
    #debería haber un registro para los errores y para los warnings, 
    #por ejemplo si split lines corta una sentencia
    log file = /file.txt
    #dejar registro de clases que no cumplan CapWords
    write names " = yes
    split names errors = yes
y que el archivo resultante cumpla con pep8. ¿mucho delirio o podrá existir?
  #6 (permalink)  
Antiguo 27/06/2013, 18:37
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Convertir código a pep8

AutoPEP8 para ser lo que buscas.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:20.