practicas nomenclatura español codificacion buenas python coding-style

nomenclatura - Estándares/mejores prácticas de codificación de Python



pep8 python 3 (8)

En Python, ¿usualmente usa PEP 8 - Guía de estilo para Python Code como sus estándares / pautas de codificación? ¿Hay otros estándares formalizados que prefieras?



Lo sigo de manera extremadamente rigurosa. El único dios antes de PEP-8 son las bases de código existentes.


Me atengo a PEP-8 muy de cerca.

Hay tres cosas específicas que no me molestan cambiar a PEP-8.

  • Evite espacios en blanco extraños inmediatamente dentro de paréntesis, corchetes o llaves.

    Sugerido: spam(ham[1], {eggs: 2})

    De todos modos hago esto: spam( ham[ 1 ], { eggs: 2 } )

    ¿Por qué? Más de 30 años de hábito arraigado están acurrucados contra nombres de funciones o (en C) palabras clave. Comenzando con Fortran IV en los años 70.

  • Use espacios alrededor de operadores aritméticos:

    Sugerido: x = x * 2 - 1

    Hago esto de todos modos: x= x * 2 - 1

    ¿Por qué? La ciencia de la programación de Gries sugirió esto como una forma de enfatizar la conexión entre la asignación y la variable cuyo estado está siendo cambiado.

    No funciona bien para asignaciones múltiples o asignaciones aumentadas, para eso uso muchos espacios.

  • Para nombres de funciones, nombres de métodos y nombres de variables de instancia

    Sugerido: minúsculas, con palabras separadas por guiones bajos según sea necesario para mejorar la legibilidad.

    Hago esto de todos modos: camelCase

    ¿Por qué? Más de 20 años de hábito arraigado de camelCase, comenzando con Pascal en los años 80.


PEP 8 es bueno, lo único que deseo que sea más difícil fue la guerra santa Tabs-vs-Spaces.

Básicamente, si está comenzando un proyecto en python, debe elegir pestañas o espacios y luego disparar a todos los delincuentes a primera vista.


Para agregar a list de guías idiomáticas de :

Pagar la presentación de Anthony Baxter sobre Effective Python Programming (de OSON 2005).

Un experto:

# dict''s setdefault method turns this: if key in dictobj: dictobj[key].append(val) else: dictobj[key] = [val] # into this: dictobj.setdefault(key,[]).append(val)


Sí, trato de seguirlo lo más cerca posible.

No sigo ningún otro estándar de codificación.


Sigo el PEP8, es una gran pieza de estilo de codificación.