Are there any tools for visualizing code complexity or graphing method calls in Objective-C? [closed]

StackOverflow https://stackoverflow.com/questions/7474431

Вопрос

I'm hoping to show a visualization of the code base which can show areas that are overly complex and intertwined.

I know what clang is, but I'm not sure it gives me what I want in this case.

Это было полезно?

Решение

AnalysisTool: I know it's a clang wrapper but it also provides dependency diagrams.

AnalysisTool was originally created to serve two main purposes: to provide an easy-to-use executable binary of Clang static analyzer and to customize Clang by providing some additional checks. When Clang static analyzer was in its early stages, the only option for developers to try it out was to check out the latest source code of LLVM and Clang, compile it, and use the analyzer from the command line. AnalysisTool provided an easy-to-use GUI interface and removed the need to touch Clang source code. It also provided automatic updates, so that users of AT could always use the latest Clang static analyzer.

lizard:

This tool will calculate the cycolomatic complexity of C/C++/Objective C code without caring about header files and preprocessors. So the tool is actually calculating how complex the code 'looks' rather than how complex the code 'is'.

People will need this tool because it's often very hard to get all the include folders and files right with a similar tool, but we don't really need that kind of accuracy when come to cyclomatic complexity.

These are the only two tools I know, hope this helps.

Другие советы

Our Source Code Search Engine provides the ability to search across large sets of source code in multiple languages, using the code structure of each language to guide the search and minimize false positive matches.

As a side effect of its indexing process, it computes various complexity metrics (Halstead, McCabe) for files and writes that to an XML file you can process/display any way you like.

It has language front ends for C and C++; either of them ought to be able to process Objective C well enough for the SCSE to operator, and for OP's purpose, to compute such complexity metrics. The downloadable version has the C front end included.

Edit June 2019: It has an Objective C front end now.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top