Programa como un Pythonista



Programa como un Pythonista

0 0


Presentacion-FullDay-PreCOREISC

Presentacion FullDay PreCOREISC

On Github jz3lada / Presentacion-FullDay-PreCOREISC

Programa como un Pythonista

By Jean Zelada / @jz3lada

Lenguaje de Programación

Creado en 1991 por Guido Van Rossum

ex Google, hoy Dropbox

La filosofía de Python hace incapie en una sintaxis muy limpia y que favorezca un codigo legible

Python y sus PEP

Propuestas de Mejora de Python (Python Enhancement Proposals o PEP's)
http://www.python.org/dev/peps/

PEP 8

Estilo de Programación: La legibilidad cuenta

Las propuestas ...

4 espacios por cada nivel de indentación

						def saludo(sexo):
    if sexo == 'M':
        print "Buen día señor"
    elif sexo == 'F':
    	print "Buen día señora"
    else:
        print "Buen día"
					

Una línea en blanco entre funciones

						def suma(a, b):
	
def resta(a, b):
					

Dos líneas en blanco entre clases

						class Dibuja(cuadrado):
	#Codigo


class Pinta(red):
	#Codigo
					

Un espacio después de una coma, punto y coma, o dos puntos

						No:
    if x == 4 : 
    	print x , y ; x , y = y , x
Sí:
    if x == 4: 
    	print x, y; x, y = y, x
					

Pon espacios alrededor de las asignaciones y las comparaciones (excepto en las listas de parámetros)

						No:
    x= 1
    y=2
    z=x+y

Sí:
    x = 1
    y = 2
    z = x + y
					

No coloques espacios justo después de abrir o cerrar un paréntesis o justo antes de una lista de parámetros

						No:
    spam( ham[ 1 ], { eggs: 2 } )
Sí:
    spam(ham[1], {eggs: 2})
					

Cadenas de documentación = Cómo usar el código

PEP 257

					"""Retorna la cantidad de letras en un texto

    Descripción.

"""
					

Comentarios solo si son necesarios

No se deben de realizar comentarios obvios

						x = x + 1   # Suma 1 a x
					

Y si lo usas ... Por qué (razones) y cómo funciona el código

minusculas_con_guiones

para funciones, métodos, atributos

						def esta_es_una_funcion:
					

minusculas_con_guiones

o

TODO_MAYUSCULAS

para las constantes

PalabrasEnMayusculas

para las clases

						class SoyUnaClase:
					

camelCase

sólo si es necesario adaptarse a convenciones que ya se utilizaban en el código

camelCase: Las palabras se separan poniendo en mayúscula la primer letra, excepto la primer letra de la primer palabra (Java)

Limitar los tamaños de línea a 79 caracteres como máximo

						def __init__(self, primero, segundo, tercero,
             cuarto, quinto, sexto):
    salida = (primero + segundo + tercero
              + cuarto + quinto + sexto)
					

¡ Aplicen estas propuestas a su lenguaje preferido !

Los programas deben escribirse para que lo lean las personas, y sólo de forma circunstancial para que los ejecuten las máquinas. —Abelson y Sussman, Estructura e Interpretación de Programas de Computadora Programa siempre como si la persona que va dar mantenimiento a tu código fuera un psicópata violento que sabe dónde vives. – Martin Golding