Одна из самых сложных задач для любого программиста - это понимание кода другого.
Например, я подрядчик, нанятый, чтобы спасти какой-то проект очень быстро. Исправляйте ошибки, планируйте глобальный рефакторинг и, следовательно, мне нужен наиболее эффективный способ понять код. Каков список концепций, их приоритет и лучшие инструменты для этого?
Из того, что я знаю: обратный код для создания объектных моделей (создание диаграмм для каждого пакета не очень удобно), создание диаграмм последовательности (инструмент подключается к системе в режиме отладки и генерирует диаграммы из среды выполнения). Некоторые методы визуализации, использующие некоторые инструменты для работы не только с .java
, но также с, например, JPA
Разработчики, такие как Hibernate
. Создайте диаграмму не для всей кодовой базы, но добавьте некоторый класс и затем используемые им классы.
Является ли Sparx Enterprise Architect современным в области реверс-инжиниринга или это далеко не так? Любые другие лучшие инструменты? В идеале, этот инструмент заставляет меня понимать код, как если бы я написал его сам:)