El personal process software (PSP) es una metodología que permite al desarrollador estandarizar la técnica de desarrollo que utiliza. Como menciono, es un proceso personal, por lo que no es lo mismo para cada desarrollador, sin embargo se puede estandarizar en un equipo de trabajo u casa de desarrollo. por lo que propongo mi Standard de Código personal para python.
Las ventajas son las siguientes:
– Te permite tener código entendible y auditable
– Se puede hacer revisión por pares
– El soporte es más fácil
– Al tener un standar de la técnica de desarrollo, se puede empezar a contabilizar las lineas de código.
– Apoyo para generar cotizaciones del costo de un proyecto.
La siguiente tabla muestra mi estándar de desarrollo personal para python.
Propósito | Guía que define el estándar de desarrollo Personal para python |
Cabeceras | El código debe iniciar con una cabecera la cual describirá los siguientes puntos .-Nombre del programa-Autor-Fecha de actualización-Descripción
-versión del programa |
Ejemplo de Cabecera | ############################################ Nombre: programa.py# Autor: Andres Lavariega – andres@172.236.115.75# Fecha de actualización : 23 de noviembre del 2018# Descripción: Este programa imprime los datos del servidor.
# versión del programa: 1.0 ########################################## |
Variables y asignaciones y Operadores | La forma de declarar una variable en el programa. Se debe poner primero la variable, luego el “=” y al final el valor. Entre cada ítem debe existir un espacio. |
Variables Ejemplo | cosa = 4 #buenocosa = “hola lavariega” #buenocosa == 3 #buenocosa = [‘pan’, ‘huevos’, 100, 1234] #buenoc=”4” #malo
C=”hola lavariega” #malo C==3 #malo C = [‘pan’, ‘huevos’, 100, 1234] #malo |
Diccionarios | El diccionario, define una relación uno a uno entre claves y valores. Se define el nombre del diccionario , un corchete, y luego un salto de línea. Por cada ítem del diccionario debe existir un salto de línea y no debe haber líneas vacias.Al final debe ir un corchete solo. |
Diccionarios Ejemplo | datos_basicos = {“nombres”:”Andres Alberto”,”apellidos”:”Lavariega Castellanos”,”cedula”:”123456789″,} |
conjuntos | Un conjunto, es una colección no ordenada y sin elementos repetidos. Se define en una línea todo el conjunto. |
Ejemplo de conjuntos | set([4.0, ‘Carro’, True]) #buenoset([4.0, ‘Carro’,True]) #malo |
Condicional if-else | La condicional se define en una línea, y se da un salto de línea, donde se ejecutan las instrucciones. Después se define la condicional else, otro salto de línea y se definen las instrucciones correspondientes. |
Ejemplo | if ( dato1 == dato2 ):print “Variable ‘dato1’ es igual a la variable ‘dato2’.”else:print “Variable ‘dato1’ no es igual a la variable ‘dato2’.” |
Blucle While y for | El bucle while se define en una línea, un salto de línea y luego se da un tabulador para definir lo que se ejecutará. Mismo caso para for. |
Ejemplo | while numero <= 10:suma = numero + sumanumero = numero + 1print “La suma es ” + str(suma)
animales = [‘gato’, ‘perro’, ‘serpiente’] for animal in animales: print “El animal es: {0}” |
Funciones nativas | Las funciones se definen en una línea , en minúsculas y después el uso de llaves. |
Ejemplo | input()raw_input() |
Funciones por desarrollador | Se definen con la palabra def, luego el nombre de la función. Si son mas de dos palabras usar guion bajo. |
Ejemplo | def imprime_fibonacci(n):a, b = 0, 1while b < n:print b, |
Comentarios | Los comentarios inician con #. En caso de ser muy largos usar salto de línea simple. |
Ejemplo | # Este modulo esta dividiendo la entrada entre 4# Si lo divide entre 5 sera mas difícil# Por que a la memoria RAM no le gustan los números impares |
Líneas en blanco | Las líneas en blanco se deben poner entre la definición de cada fin de:- Modulo- Funciones- bluce |
Ejemplo | def mi_modulo()dato = 9def mi_no_modulo()dato2 = 19 |
Este Standard de Código personal para python fue diseñado como actividad número 2 del The Personal Software ProcessSM (PSPSM) Body of Knowledge, Version 1.0