Las funciones deben
hacer algo responder a
algo pero no ambas
cosas, debe cambiar el
estado de un objeto o
devolver información
sobre el mismo pero
hacer ambas causaría
condución
Tamaño reducido
La primera regla de
toda función, es que
deben ser de un
tamaño reducido, entre
más reducida sea la
implementación del
codigo, mas efectivo y
sencillo seerá para una
persona entenderlo y
darle el mantenimiento
necesario
Bloques y sangrado
Los bloques de
instrucciones if, else, while,
tienen una misma longitud
de linea, lo que reduce el
tamaño del codigo,
mientras que el sangrado
no debe ser mayor a uno o
dos, esto para la misma
razón que los bloques para
evitar que el código se
extienda demaciado
Hacer una cosa
A las funciones
solamente se les debe
asignar una sola función,
aunque estas sean
capaces de hacer mas de
una acción por llamada,
un código limpio implica
que haga una sola
función por llamada
Abstracción en las funciones
Para que las
funciones puedan
realizar una sola
tarea, estas
deben tener un
unico nivel de
abstracción
Switch
La instrucción switch no
siempre será de manera
reducida, por su función
estas instrucciones
siempre hacen una N
cantidad de cosas, por
eso no siempre vamos a
ser capaces de evitar
usarlos, pero una forma
de ayuda para esto es
usar el polimorfismo
Nombres descriptivos
El nombre en una función es una
parte esencial de la programación,
un nomobre que no esta bien
definido puede causar que la
mejora o el mantenimiento del
programa sea mucho mas dificil, ya
que no se tiene claro que hace cada
uno de los métodos dentro de la
función
Argumentos de funciones
El número de argumentos
ideal para una función es
cero, más de eso requieren
una justificación especial.
Los argumentos son
complejos ya que requieren
una gran capacidad
conceptual
Objeto de argumento
Cuando una función
requiere uno o mas
argumentos es
probable que que
alguno de ellos se
incluya en una clase
propia
Argumentos de salida
Los argumentos
suelen representarse
como una entrada,
por ende como
existe una entrada
también existe una
salida
Excepciones vs Error
Devolver códigos de error
es un incumplimiento de la
separación de comandos,
por otra parte las
excepciones separan los
errores del código de ruta,
por lo tanto se puede
simplificar