Я надеюсь показать визуализацию базы кода, которая может отображать слишком сложные и переплетенные области.
Я знаю, что такое clang, но я не уверен, что это дает мне то, что я хочу в этом случае.
Я надеюсь показать визуализацию базы кода, которая может отображать слишком сложные и переплетенные области.
Я знаю, что такое clang, но я не уверен, что это дает мне то, что я хочу в этом случае.
AnalysisTool: я знаю, что это оболочка clang, но она также предоставляет диаграммы зависимостей.
AnalysisTool изначально был создан для двух основных целей: предоставить простой в использовании исполняемый двоичный файл статического анализатора Clang и настроить Clang, предоставив некоторые дополнительные проверки. Когда статический анализатор Clang находился на ранних стадиях, разработчики могли только попробовать его, чтобы проверить последний исходный код LLVM и Clang, скомпилировать его и использовать анализатор из командной строки. AnalysisTool предоставил простой в использовании графический интерфейс и избавил от необходимости касаться исходного кода Clang. Он также обеспечивал автоматическое обновление, чтобы пользователи AT всегда могли использовать новейший статический анализатор Clang.
Этот инструмент будет вычислять сложность кода C/C++/Objective C в циколоматической среде, не заботясь о заголовочных файлах и препроцессорах. Таким образом, инструмент фактически вычисляет, насколько сложный код "выглядит", а не насколько "сложный" код.
Людям понадобится этот инструмент, потому что зачастую очень трудно получить все включать папки и файлы прямо с помощью аналогичного инструмента, но мы не делаем действительно нужна такая точность, когда дело доходит до цикломатической сложности.
Это единственные два инструмента, которые я знаю, надеюсь, это поможет.
Наша поисковая система исходного кода предоставляет возможность поиска по большим наборам исходного кода на нескольких языках, используя структуру кода каждого языка для поиска и минимизации ложных положительных совпадений.
В качестве побочного эффекта процесса индексации он вычисляет различные метрики сложности (Halstead, McCabe) для файлов и записывает их в XML файл, который вы можете обрабатывать/отображать любым удобным вам способом.
Он имеет языковые интерфейсы для C и C++; любой из них должен уметь обрабатывать Objective C достаточно хорошо для оператора SCSE и для целей OP, чтобы вычислять такие метрики сложности. В загружаемую версию включен внешний интерфейс C.
Изменить июнь 2019 года: теперь у него есть внешний интерфейс Objective C.