A los que os dedicáis a esto, cuando queréis modificar un programa o simplemente estudiar su funcionamiento, ¿cómo leéis su código fuente? Es decir, ¿vais directamente a los comentarios? ¿Intentáis primero "descifrar" el código? ¿U os vais directamente a la función principal y vais leyendo las funciones secundarias a medida que éstas van siendo llamadas?
En definitiva, ¿hay alguna técnica universal to wapa para leer código fuente sin perderse en mares de variables?
Los comentarios son la primer cosa que se suele usar. Si un codigo esta bien documentado, enseguida uno entiende todo. Lo malo es que encontrar codigo documentado como corresponde es algo muy raro.
Lo segundo es tratar de entender el pensamiento del programador que escribio el codigo. Si bien esto parece imposible, con experiencia uno puede lograrlo. Basta con leer algunas funciones del programa para entender la forma de pensar del programador: su nivel de experiencia, sus convenciones de codificacion, las formas de nombrar variables, sus defectos..
Un programador novato escribe codigo de una manera muy particular y tiende a usar sentencias simples. Un programador mas veterano tiende a "exprimir" mas el codigo y usa sentencias mas "oscuras" (esas en las que uno necesita del manual del compilador para entenderlas).
Naturalmente, uno sigue un orden para leer el codigo, se empieza por la funcion principal y luego por las funciones a la que este llama.
Lo que se suele hacer es leer la principal y todas a la que este llama. Despues se toma la primer subfuncion, se leen todas las funciones a la que este llama y luego se pasa a la siguiente subfuncion. Esta lectura "por capas" suele ayudar mucho.
Si uno solo quiere saber como funciona una parte del codigo, naturalmente uno solo lee ese segmento y listo.
Espero que esto haya respondido a tu pregunta.