Существуют ли какие-либо инструменты для визуализации сложности кода или вызова метода графического отображения в Objective-C?

Я надеюсь показать визуализацию базы кода, которая может отображать слишком сложные и переплетенные области.

Я знаю, что такое clang, но я не уверен, что это дает мне то, что я хочу в этом случае.

Ответ 1

AnalysisTool: я знаю, что это оболочка clang, но она также предоставляет диаграммы зависимостей.

AnalysisTool изначально был создан для двух основных целей: предоставить простой в использовании исполняемый двоичный файл статического анализатора Clang и настроить Clang, предоставив некоторые дополнительные проверки. Когда статический анализатор Clang находился на ранних стадиях, разработчики могли только попробовать его, чтобы проверить последний исходный код LLVM и Clang, скомпилировать его и использовать анализатор из командной строки. AnalysisTool предоставил простой в использовании графический интерфейс и избавил от необходимости касаться исходного кода Clang. Он также обеспечивал автоматическое обновление, чтобы пользователи AT всегда могли использовать новейший статический анализатор Clang.

ящерица:

Этот инструмент будет вычислять сложность кода C/C++/Objective C в циколоматической среде, не заботясь о заголовочных файлах и препроцессорах. Таким образом, инструмент фактически вычисляет, насколько сложный код "выглядит", а не насколько "сложный" код.

Людям понадобится этот инструмент, потому что зачастую очень трудно получить все включать папки и файлы прямо с помощью аналогичного инструмента, но мы не делаем действительно нужна такая точность, когда дело доходит до цикломатической сложности.

Это единственные два инструмента, которые я знаю, надеюсь, это поможет.

Ответ 2

Наша поисковая система исходного кода предоставляет возможность поиска по большим наборам исходного кода на нескольких языках, используя структуру кода каждого языка для поиска и минимизации ложных положительных совпадений.

В качестве побочного эффекта процесса индексации он вычисляет различные метрики сложности (Halstead, McCabe) для файлов и записывает их в XML файл, который вы можете обрабатывать/отображать любым удобным вам способом.

Он имеет языковые интерфейсы для C и C++; любой из них должен уметь обрабатывать Objective C достаточно хорошо для оператора SCSE и для целей OP, чтобы вычислять такие метрики сложности. В загружаемую версию включен внешний интерфейс C.

Изменить июнь 2019 года: теперь у него есть внешний интерфейс Objective C.