El documento recomienda evitar el uso de variables globales y escribir funciones demasiado largas. Las variables globales pueden ser modificadas por terceras funciones causando fallos imprevistos y dificultades en la depuración. Las funciones largas contienen demasiados detalles que dificultan su comprensión y mantenimiento, por lo que es mejor dividir la lógica en bloques más pequeños y acoplados débilmente.
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Subtema1 mejores practicas programación usc
1. Subtema 1 Lista de Buenas Prácticas
Consejo 1: Evitar el uso de variables globales.
Justificación: Una variable global es una variable colocada fuera del ámbito
de varias funciones y que es globalmente accesible por todas ellas. No se
debe confundir con un atributo de una clase, que es un campo dentro de un
registro que varias funciones manipulan. Un consejo útil para distinguir
atributos de variables globales es pensar si la variable corresponde a una
característica identificable del conjunto de individuos representado por una
clase.
El uso de variables globales pueda resultar tentador por lo cómodo de evitar
tener que estar pasando la variable global como parámetro. Sin embargo, el
uso de variables globales puede tener efectos laterales bastante peligrosos
(cf [4]). El problema es que al ser la variable globalmente accesible, ésta
puede, por malicia o simple infortunio, ser modificada fácilmente por terceras
funciones, asignando a la variable un valor no deseado. Este valor no
deseado puede desencadenar una serie de fallos en cadena. Al ser la
variable accesible por un número potencialmente largo de funciones, una vez
producido el fallo, depurar el programa hasta averiguar cuál es la causa del
fallo puede ser un proceso largo y tedioso. En muchas Escuelas de Ingeniería
Informática el uso no justificado de variables globales es causa directa de
suspenso en un examen o práctica de programación.
NOTA: Linux Torvas realiza la misma recomendación para la creación de
código para el núcleo de Linux: sólo usar variables globales cuando es
realmente necesario.
NOTA: El uso de variables globales no será causa directa de suspenso en
las prácticas y pruebas correspondientes a las asignaturas que el autor de
esta página imparta en la Universidad de Cantabria o centros similares, pero
si rebajará sensiblemente la calificación de las mismas. Un abuso en el uso
de variables globales si será causa automática de suspenso.
2. Evitar escribir funciones y procedimientos
demasiado largos.
Justificación: Según estudios psicológicos, la mente humana no es capaz
de procesar más de 6 o 7 detalles diferentes a la vez (y a mí, particularmente,
me parece éste un número bastante generoso). Las funciones demasiado
largas suelen contener un número de detalles superior a este límite. Ello
dificulta su legibilidad y comprensión y por tanto, su mantenimiento.
En general, en funciones demasiado largas hay trozos claramente
diferenciados de código, débilmente acoplados. Cada uno de estos bloques
suele realizar una tarea distinta. Por ejemplo, es habitual en muchas
funciones que al principio se preparen los datos para realizar un cómputo, o
se inicialice alguna estructura. A continuación se realizan una serie de
cálculos y por último se presenten por la salida los resultados.