Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Los 12 mandamientos del código Python

  • 12 Respuestas
  • 6436 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado WhiZ

  • *
  • Underc0der
  • Mensajes: 395
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Enero 24, 2013, 05:36:05 am »
Hola Gente! Q tal?!

Bueno, antes de empezar voy a aclarar algunas cosas. Por empezar, ésto no es algo que se me haya ocurrido a mi ni mucho menos.

Constituye ésta, información de extremada importancia para todo aquél que elija Python como compañero de aventuras a la hora de codear un programa determinado.

Es fundamental que todo aquel que quiera comenzar a codear con Python conozca y respete estos 12 mandamientos, de manera tal que se alcance un grado de ordenamiento y claridad suficiente como para que terceros puedan entender y utilizar los scripts por uno mismo desarrollados.

Sin más que decir, a continuación les dejo los 12 mandamientos:
Código: Python
  1. 1. Los nombres de los módulos deben estar en minúsculas (por ej., hola.py).
  2.  
  3. 2. Los nombres de las clases deben usar CamelCase.
  4.  
  5. 3. Los métodos y funciones deben usar minusculas_con_guion_bajo. # También es válido deEstaManera.
  6.  
  7. 4. Los métodos privados para uso interno comienzan con _guion_bajo.
  8.  
  9. 5. Los atributos de clase con __doble_guion_bajo.
  10.  
  11. 6. Las constantes en el primer nivel del código (las que no se encuentran dentro de una función o una clase) deben usar LETRASMAYUSCULAS. Usar demasiadas constantes puede hacer que tu código sea menos reutilizable.
  12.  
  13. 7. Si una variable en una función o método es tan temporal que no puedes darle un nombre, utiliza i para la primera, j para la segunda, y k para la tercera.
  14.  
  15. 8. Indenta con cuatro espacios por nivel. Sin tabuladores. Si rompes este mandamiento serás lapidado en la plaza del pueblo.
  16.  
  17. 9. Las líneas no deberían tener nunca más de 80 caracteres. Divide las líneas usando una barra invertida. No necesitas hacer esto si hay paréntesis, llaves o corchetes.
  18.  
  19. 10. Espacio después de una coma (huevos, verdes, con, jamon).
  20.  
  21. 11. Espacio antes y después de un operador (i = i + 1).
  22.  
  23. 12. Escribe cadenas de documentación para todos los módulos, funciones, clases y métodos públicos. Python es una comunidad internacional, así que utiliza el inglés para las cadenas de documentación, los nombres de los objetos y los comentarios. # No muy de acuerdo con esto último, pero bueno.
  24.  

NOTA: Estos mandamientos los tradujo Raul de Mundo Geek del artículo original de Command Line Warriors.

Bueno, eso es todo. Por favor lean esta información e intenten respetarla. Cuando tengan que analizar el código de otra persona van a comprender porqué es tan importante lograr este consenso.

Saludos!
WhiZ

P.D.: No se si es mucho pedir, pero me gustaría que esta información sea colgada en la sección de Python. Mi objetivo es, como dije, lograr un consenso a la hora de escribir en Python. Por ende, creo que información como ésta debe encontrarse disponible de manera permanente, tanto para aquellos que recién se inician como para los experimentados.
« Última modificación: Enero 24, 2013, 04:37:13 pm por WhiZ »


Desconectado Once

  • *
  • Underc0der
  • Mensajes: 391
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #1 en: Enero 24, 2013, 06:32:58 am »
Hey brother, gracias, llevaba dos días buscando esta info. Al principio cuesta acomodarse pero cuando se hace, se nota la diferencia.

Citar
8. Indenta con cuatro espacios por nivel. Sin tabuladores. Si rompes este mandamiento serás lapidado en la plaza del pueblo.

Sin ir muy lejos, hoy deseaba lapidar a alguien por ese mismo motivo.

Saludos! y le pongo chincheta al post.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5489
  • Actividad:
    13.33%
  • Reputación 36
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #2 en: Enero 24, 2013, 09:31:36 am »
Excelente! no sabia que Python tenia mandamientos!
Muchas gracias por el post WhiZ!


Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
« Respuesta #3 en: Enero 24, 2013, 11:25:10 am »
Se de alguien (yo) que debe aplicarse el cuento...
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado SOM8R4

  • *
  • Underc0der
  • Mensajes: 13
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #4 en: Enero 24, 2013, 12:27:18 pm »
Muy buena info, muchas gracias y sera aplicada para mis futuros scripts

Desconectado Darvein

  • *
  • Underc0der
  • Mensajes: 36
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #5 en: Febrero 16, 2013, 06:27:44 pm »
Emm esto también es cool:

Código: [Seleccionar]
[email protected]:~$ python
Código: [Seleccionar]
Python 2.7.3 (default, Sep 10 2012, 00:09:03)
[GCC 4.7.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
>>>
¿Ilusión o realidad?

Desconectado Nightmare

  • *
  • Underc0der
  • Mensajes: 3
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #6 en: Junio 25, 2013, 06:40:45 pm »
Excelente, eso ayuda a recordar la sintaxis  :P
Para seguir la trayectoria:
mira al maestro,
sigue al maestro,
camina junto con el maestro,
mira a través del maestro,
conviértete en el maestro.

Desconectado 79137913

« Respuesta #7 en: Febrero 05, 2014, 09:41:32 am »
HOLA!!!

Jajaja...

Yo no cumplo ninguno creo.

SOY UN REBELDE  8)
GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   DOORS.PARTY

Desconectado CrazyKade

  • *
  • Underc0der
  • Mensajes: 182
  • Actividad:
    0%
  • Reputación 0
  • Я только знаю что ничего не знаю!
    • Ver Perfil
« Respuesta #8 en: Febrero 05, 2014, 10:18:22 am »
Muy bueno WhiZ, me parece que en cualquier momento empiezo con py!
Saludos!

CrazyKade

Desconectado deni_celine

  • *
  • Underc0der
  • Mensajes: 36
  • Actividad:
    0%
  • Reputación 0
  • un susurro con la fuerza de mil gritos
    • Ver Perfil
« Respuesta #9 en: Febrero 05, 2014, 04:13:04 pm »
jajaj no había leído esto,  otro más que sera lapidado en la plaza del pueblo

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #10 en: Febrero 05, 2014, 04:38:53 pm »
Me parto con el nº 8!!! jajajajjajajajajajajajajja

Desconectado dalecoper

  • *
  • Underc0der
  • Mensajes: 7
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #11 en: Agosto 15, 2014, 09:07:51 pm »
Buenas, he elegido python para aprender otro lenguaje de programacion. Tengo alguna base en C. Me parece interesante lo que decis.
Un saludo!

Desconectado alonsocn

  • *
  • Underc0der
  • Mensajes: 3
  • Actividad:
    0%
  • Reputación 0
  • -- All you need is Love! --
    • Ver Perfil
    • Twitter
  • Skype: alonsocn
« Respuesta #12 en: Noviembre 27, 2014, 04:17:09 am »
Hola a todos,

Me parece muy buena la aportación del "resumen" de buenas prácticas a la hora de codear código en Python :) Bueno yo les dejo un misma aportación, pero ya es algo muy larga y muy (pero muy) buen documentada jajaja Saludos!

Enlace: http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#the-zen-of-python-1
======
AlonsoCN

 

¿Te gustó el post? COMPARTILO!



Python Trojan - By "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 1
Vistas: 4002
Último mensaje Abril 03, 2010, 11:01:59 pm
por Dharok
Python phpmyadmin "BruteForce"

Iniciado por linkgl

Respuestas: 2
Vistas: 4438
Último mensaje Agosto 19, 2011, 12:14:37 pm
por linkgl
Python keylogger - by "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 0
Vistas: 3822
Último mensaje Abril 07, 2010, 03:30:22 am
por d33k40
Ejercicio 61 del libro "Introducción a la programación con python"

Iniciado por D3ivid

Respuestas: 1
Vistas: 2177
Último mensaje Marzo 08, 2015, 10:15:14 pm
por Once
Ejercicio 39 del libro "Introduccion a la programacion con python"

Iniciado por D3ivid

Respuestas: 3
Vistas: 4040
Último mensaje Marzo 02, 2015, 02:16:38 pm
por blozzter