Pase grandes objetos como son estructuras utilizando apuntadores
a datos constantes para obtener los beneficios de rendimiento de
llamadas por referencia y la seguridad de llamadas por valor.
Pasar el tamaño de un arreglo a una función ocupa
tiempo y espacio de pila adicional, porque debe ejecutarse una copia
del tamaño para ser pasada a la función. Las variables
globales, sin embargo, no requieren de tiempo adicional o de espacio,
porque son accesibles de forma directa por cualquier función.
Durante la compilación la notación de subíndices
de arreglo se convierte a notación de apuntador, por lo que
escribir expresiones de subídice de arreglo con notación
de apuntadores, puede ahorrar tiempo de compilación.
Algunas veces un algoritmo que aparece de forma natural puede contener
problemas sutiles de rendimiento, como es la posición indefinida.
Busque algoritmos que eviten la posición indefinida.
El calificador const puede ser utilizado para forzar el principio
del mínimo privilegio. La utilización del mínimo
privilegio para diseñar apropiadamente el software reduce
en forma importante el tiempo de depuración y efectos inadecuados
colaterales, y hace un programa más fácil de modificar
y mantener.
Si un valor no se modifica (o no deber¡a modificarse) en el
cuerpo de una función al cual es pasado, el valor deber
declararse const, para asegurarse que no se modifica accidentalmente.
En una función llamadora sólo un valor puede ser alterado
cuando se utiliza llamada por valor. Este valor debe ser asignado
a partir del valor de regreso de la función. Para modificar
varios valores en una función llamadora, debe utilizarse
llamada por referencia.
Colocar prototipos de función en las definiciones de otras
funciones obliga al principio del mínimo privilegio al restringir
las llamadas correctas de función sólo a aquellas
funciones en las cuales dichos prototipos aparecen.
Al pasar un arreglo a una función, pase también su
tamaño. Esto ayuda a generalizar la función. Las funciones
generales son a menudo reutilizables.
Las variables globales violan el principio del mínimo privilegio
y son un ejemplo de ingeniería del software pobre.
|