Мені довелося це зробити нещодавно з проектом понад 100 000 LOC. Моя перша ідея полягала в тому, що легше бачити візерунки з графіків 100 або навіть 1000 вузлів, ніж із 100000 рядків тексту.
Тому я витратив 45 хвилин і написав коротку програму Python (<100LOC), щоб проаналізувати те, що мені потрібно від неї, та намалювати об'єктні відносини. Я створив джерело Graphviz , яке є дуже простою мовою. (Тут немає нічого особливого в Python: Ruby, C # або Common Lisp або все, що може зробити це так само добре.)
В інших проектах я бачив, як люди використовують Graphviz для залежності модулів, графіків викликів, історії версій, всіляких речей. Найбільший мета-інструмент візуалізації програми коли-небудь.
(Можливо, це тому, що я взяв компілятори , але мені здається дивним, що коли програміст стикається з проблемою, відповідь, як видається, завжди є "написати програму!", За винятком випадків, коли проблема стосується вихідного коду до програми.: - )