En programas que contengan muchas funciones, main debe de
ser organizada como un grupo de llamadas a funciones que ejecuten
la mayor parte del trabajo del programa.
Cada función debería limitarse a ejecutar una tarea
sencilla y bien definida,y el nombre de la función debería
expresar dicha tarea con claridad. Ello facilitaría la abstracción
y promovería la reutilización del software.
Si no puede elegir un nombre conciso, que exprese lo que la función
ejecuta, es probable que su función esté intentando
ejecutar demasiadas tareas diversas. A menudo es mejor dividir dicha
función en varias funciones más pequeñas.
Una función no deberia tener una longitud mayor que una página.
Aún mejor una función no debería ser más
larga que media página. Las funciones pequeñas promueven
la reutilización del software.
Los programas deberían ser escritos como recompilaciones
de funciones pequeñas. Esto haría que los programas
fueran más fáciles de escribir, depurar, mantener
y modificar.
Una función que requiera un gran número de parámetros
quizás este ejecutando demasiadas tareas. Piense en dividir
esta función en funciones más pequeñas, que
ejecuten las tareas por separado. El encabezado de función,
si es posible, debería poder caber en una línea.
El prototipo de función, el encabezado de función
y las llamadas de función deberán todas estar de acuerdo
en lo que se refiere al número, tipo y el orden de argumentos
y de parámetros, así como en el tipo del valor de
regreso.
Un prototipo de función, colocado fuera de una definición
de función, se aplica a todas las llamadas de función
que aparezcan dentro del archivo después del prototipo de
función. Un prototipo de función colocado en una función,
se aplica sólo a las llamadas efectuadas en esa función.
El almacenamiento automático es otra vez un ejemplo del principio
del mínimo privilegio ¿por qué tendrían
que estar las variables almacenadas en memoria y accesibles cuando
de hecho no son necesarias?
La declaración de una variable como global en vez de como
local, permiten que ocurran efectos colaterales no deseados cuando
una función que no requiere el acceso a la variable, la modifica
accidental o maliciosamente. En general, el uso de las variables
globales debería ser evitado, excepto en cierta situaciones,
con requerimientos de rendimiento único.
La declaración de una variable como global en vez de como
local, permiten que ocurran efectos colaterales no deseados cuando
una función que no requiere el acceso a la variable, la modifica
accidental o maliciosamente. En general, el uso de las variables
globales debería ser evitado, excepto en cierta situaciones,
con requerimientos de rendimiento único.
|