scitools.com

← Architecture catalog

Calendar 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.

Calendar

Languages: Any
Organize file entities by how recently they were modified.

Each file joins the most recent group its modification date fits: Today, Yesterday, This Week (the week begins on Sunday), This Month (since the first of the month), This Quarter, This Year, or Earlier. Inside each group the directory tree is reproduced, so you can also see which folders the recent changes are in.

For example, generated on a Thursday in August:

Calendar
  Today
    demo
      src         main.cpp
  This Week
    demo
      scripts     build.py         (modified Sunday)
  Earlier
    demo          top.py           (modified last year)

The dates come from each file's modification time on disk, so the groups describe your working copy: a file that a fresh checkout or a code generator touched is recent even when its content is old.

To group by commit history instead, see the Git Date architecture, which groups by the first or last commit that touched each file, along with Git Author and Git Stability, and the metrics Days since modified and Days since creation.