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
selfcomo 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
importsal inicio del archivo. - Siempre importa funciones y clases usando
from my_module import MyClassen 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.