Al inspeccionar manualmente un código desconocido (para revisar o modificar), parece que tengo tres opciones.
- Una lectura de arriba hacia abajo del código, eligiendo cada archivo fuente siguiente por lo fundamental que parece el nombre del archivo. Usualmente termino leyendo casi todo. Algunos archivos dos veces.
- Una lectura de primera amplitud , donde encuentro y leo todo el método de invocación con una comprensión mínima. Luego lea todas las funciones que esa función llamó, y así sucesivamente. Mi pila mental tiende a desbordarse si hago algunas llamadas profundas.
- Una lectura de profundidad , donde paso por todo el código en un depurador, sin saber si esto llevará 8 minutos u 8 horas.
Una vez que he leído suficiente código para tener una comprensión bastante sólida de lo que está haciendo, a menudo reflexiono que he leído el 80% o más de la base de código, mientras que el código fundamental es del 20% o menos . Perdí mucho tiempo.
¿Qué herramientas son útiles para obtener una comprensión rápida del código poco común? ¿Hay alguna herramienta que pueda dar una "imagen general" de la ruta crítica del código y me permita profundizar en los detalles de cualquier parte?