Aquí va una lectura muy recomendable para que los programadores de python se la lean una una vez en la vida. Python como a guido le gusta que se vea
Como no me voy a acordar de nada, hago un resumen para las cosas que se me van a olvidar.
- indentación: 4 espacios. No tabs.
- líneas a 80 caracteres, rompiendo después de los operadores
- separar funciones y clases por dos líneas vacías
- separar métodos y/o funciones por una línea vacía
- grupos de funciones por dos o más líneas
- enconding: utf-8 (será preferido para python >=3)
- los imports a tu propio código, que sean absolutos
- un import por linea salvo los from xxx import yyy,zzz
- paréntesis y corchetes siempre pegados a ambos lados de las cosas
- dospuntos, comas y puntoycomas pegados a la izquierda y con espacio a la derecha
- operadores con 1 espacio a ambos lados
- el igual de los parámetros pasados por nombre, pegado a los dos lados
- escribe docstrings para toda cosa que sea pública, tanto el módulo como las clases como los métodos públicos. Incluye también los difíciles (docstrings en pep 257)
- Los comentarios mejor que sean de una línea, comiencen con mayúscula y acaben sin punto, solo cuando sean estrictamente necesarios
- módulos y packages: minusc y cortitos
- clases y excepciones: LasPublicas y _LasPrivadas
- variables globales y funciones: separadas_por_subrayados y los privados con _underscore_delante
- si un nombre colisiona con algo de python y no lo puedes evitar, añade subrayado al final
- crea una clase para cada excepción
- aprovecha el else del try-except para cuando las cosas van bien
Y el siguiente fisco de código es interesante si usas svn/cvs, para ponerlo después de la docstring del modulo:
__version__ = "$Revision: 63990 $"
# $Source$
Anuncios
6 Jul 2008 at 23:21
Bueno, lo primero, enhorabuena (a Esauro que es al que conozco al menos, los otros no sé :P). Me corrijo: Los conozco a todos menos a uno, creo. 😀
Respecto a python, ¡ya llevo más o menos 3 años con este lenguaje, y tengo que decir que para mí es una revelación! (Alguien de vds. que sale en el about me debe unas “clases” de PyQT, por cierto, y no me refiero a clases de python :D)
Y repecto a este PEP (que no lo conocía), me he dado cuenta de que de forma natural y sin que nadie me lo diga, he ido adoptando si no todas, la mayoría de las cosas que dice (supongo que porque inconscientemente copias el estilo del código). Por ejemplo en el compilador que me hice (http://www.boriel.com/the-zx-basic-compiler/)
Una última cosa: Donde dice _LasPrivadas, ¿no será __LasPrivadas (doble subrayado)?
7 Jul 2008 at 06:40
Parece que tienes razón con respecto a __LasPrivadas. En el PEP dice textualmente ‘double leading underscores and no trailing underscores’
7 Jul 2008 at 06:52
Y otra cosa (que está fuera de tema aquí, pero bueno): ¿Cómo hago para que salga mi gravatar? (lo registré ayer).
6 Nov 2008 at 01:03
Pero dice 79 caracteres por linea, oficialmente no?
6 Nov 2008 at 08:16
Sí 79 caracteres por línea y 72 para bloques largos en más de una línea como docstrings.