Guias de Estilo - PEP8
Muchas veces nos centramos en aprender un lenguaje de programación, pero olvidamos uno de los puntos más importantes:
Seguir una buena guía de estilo.
Cuando escribimos nuestro código y sobretodo cuando trabajamos en un equipo de trabajo, es imperativo seguir una guía de estilo. Seguir este tipo de guías no solo ayuda a la claridad del código sino que nos ayuda a seguir una metodología común en nuestro grupo de trabajo.
Pep 8 es una guía de estilo muy conocida para la programación de código en Python, pero sus recomendaciones pueden extrapolarse a cualquier lenguaje de programación.
Puntos mas importantes del PEP8
Basicos:
- Siempre preferir espacios en ves de tabs.
- Usar 4 espacios en la indentación.
- Las lineas deben tener menos de 80 caracteres.
- Las lineas que pasen de esta longitud deben ser divididas en dos lineas, y la linea resultante de la división debe estar indentada.
- En una fila, las funciones y las clases deben estar separadas por dos lineas en blanco.
- No colocar espacios alrededor de indices de lista, llamadas de funciones o argumentos.
Nombres
- Las funciones deben estar declaradas en minúscula y las palabras separadas por guiones bajos
def funcion_cool()
- Los metodos privados de una clase deben comenzar con doble guion bajo
def __private_method()
. - Los métodos protegidos de una clase deben comenzar con guion bajo
def _protected_method()
. - Las clases y excepciones deben ser capitalizadas por palabra
class SuperClass
. - Constantes del module deben estar en mayusculas separadas por guiones bajos
NUMERO_MAXIMO = 10
. - Los métodos de instancia de una clase deben usar el parametro
self
como primer parámetro. - Los métodos de clase deben usar cls como primer parámetro, para referirse a la misma clase.
Expresiones
- Usar negación en linea (
if a is not b
) en vez de negar una expresion positiva(if not a is b)
. - No validar valores vacíos usando len
if (len(lista) == 0)
, usarif not lista
. - Siempre coloca los
imports
al inicio del archivo. - Siempre importa funciones y clases usando
from my_module import MyClass
en ves de importar el modulo completoimport my_module
- Si aun debes usar imports relativos, usa la sintaxis
from . import my_module
- Las importaciones siempre deben estar en el orden:
- Módulos de la librería standar.
- Módulos externos.
- Módulos del proyecto.
Y cada sección debe estar en orden alfabético.