Codevis Weekly Update
Welcome to the first "Codevis Weekly Update"
What is Codevis?
Codevis is a tool to help developers manage large codebases, sponsored by Bloomberg, developed by Codethink and hosted on the KDE Infrastructure, with all that, completely opensource with a permissive license. Codevis uses a mix of technologies to do what it does, mainly LLVM and Clang
to do the heavy lifting of understanding C++ Codebases, Qt
for Callback management (in the form of Signal/Slots), KDE Frameworks
libraries for the desktop application, and pure Qt
for the CLI application. The database layer is written with Soci
, the same database layer used in CERN, targeting sqlite3.
But How does it work?
Codevis analyzes all the visible source code from your project and creates a graph database (using a relational database) in a way that the analyst can load and interpret information from the codebase without loading the codebase. The graph-database is comprehensive
, and has all the information we think it's important, and also a lot of information that's good to have
, with a bunch of information because why not
. Since something that's not important for me could be really important for a company with billions of lines of code.
It just generates visualization?
No. Codevis also allows you to draw your software architecture and generate ready-to-compile c++ code from it. Think of this as a possibility to have C++ templates for complex projects tha are also visually documented. You can create libraries, classes, structures, connect them quickly on a dirty mockup during a meeting, and the output could be 60 c++ files on disk
with all the classes, folder-hierarchy and CMake
ready to compile.
This will not add any method or implement anything, but just the creation of the C++ files and CMake scripts from a small architecture meeting is pretty interesting in my point of view.