При ручной проверке незнакомого кода (для просмотра или изменения) у меня, кажется, есть три варианта.
- Сверху вниз читать кода, выбирая каждый следующий исходный файл, как основополагающий имя файла , кажется. Я обычно заканчиваю тем, что читаю почти все. Несколько файлов дважды.
- Ширина первого чтение , где найти и прочитать все методу вызывающей с минимальным пониманием. Затем прочитайте все функции, которые были вызваны, и так далее. Мой умственный стек имеет тенденцию переполняться, если я сделаю несколько глубоких звонков.
- Глубины первого чтения , где я шаг через весь код в отладчике, не зная, будет ли это займет 8 минут или 8 часов.
После того, как я прочел достаточно кода, чтобы иметь достаточно четкое представление о том, что он делает, я часто вспоминаю, что прочитал 80% или более кодовой базы, в то время как основной код составляет 20% или менее . Я потратил много времени.
Какие инструменты полезны для быстрого понимания незнакомого кода? Существуют ли какие-либо инструменты, которые могут дать «общую картину» пути критического кода и позволить мне детализировать детали какой-либо одной части?