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?
"En python, ¿usualmente utilizas PEP 8 - Guía de estilo para Python Code como tus estándares / directrices de codificación? ¿Hay otros estándares formalizados que prefieras?"
Como mencionas, sigue PEP 8 para el texto principal y PEP 257 para las convenciones de docstring
Junto con las guías de estilo de Python, le sugiero que consulte lo siguiente:
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.
Sigo las pautas Python Idioms and Efficiency , de Rob Knight. Creo que son exactamente lo mismo que PEP 8, pero son más sintéticos y se basan en ejemplos.
Si está utilizando wxPython, es posible que también desee consultar la Guía de estilo para el código de wxPython , también de Chris Barker.