scitools.com

← Architecture catalog

Language is one of Understand's built-in architectures — automatic ways to group a codebase (by directory, git history, language, …) for graphs, metrics, and dependency analysis.

Language

Languages: Any
Organize file entities by language (e.g. Ada, C, C++).

Each file is grouped by its file type, the same language Understand analyzes it as, which normally follows the file's extension and the languages the project was configured with. Inside each language the directory tree is reproduced, so you can also see which folders contribute to each language.

For example, a project with C++ and Python files:

Language
  C++
    demo
      src         main.cpp
        util      log.cpp, log.h
  Python
    demo          top.py
      scripts     build.py

This is most useful on a mixed-language project, where an architecture dependency graph shows which languages depend on which, and architecture metrics measure each language as a whole - how much of the project is C++, or how many lines of Python it carries. A single-language project produces one group holding every file.

See also the Directory Structure architecture for the folder tree on its own, and the File Namespace and CMake architectures, which group files by C++ namespace and by build target.