En mi experiencia, la mejor manera de hacer un seguimiento de lo que estaba haciendo un largo programa de C era hacer lo siguiente. No se trata tanto de la memorización como de entender el programa conceptualmente:
- Escriba funciones que sigan la regla de “hacer una cosa”, que es que cada función solo debe hacer una cosa. Esto requiere algo de disciplina, ya que generalmente es más fácil escribir código en el que se “combinan” un conjunto de conceptos. Lo que es “una cosa” es algo que debe definir en el contexto del propósito general del programa. Esta práctica contribuye a mantener baja la carga mental de comprender la complejidad.
- No use variables globales. El alcance más grande que debe tener una variable es el alcance del módulo. Si tiene preguntas sobre cómo crear un alcance de módulo variable, busque el uso de la designación de almacenamiento “estático”. Cuanto más pequeño es el alcance de una variable, menos tiene que memorizar acerca de cómo se usa la variable.
- Use tipos de datos abstractos donde pueda. Esto implica agrupar elementos de datos relacionados en un tipo de estructura y usar ese tipo con todas las funciones que funcionan en esos datos. Esto disminuye la carga mental al tratar de comprender cómo está cambiando el estado en el programa.