The file size is the essential measure in Sokrates. Sokrates measures the size of the files in lines of code ignoring empty lines and comments.

Sokrates classifies the files in file categories based on their size:

  • very small files (0-100 lines of code)
  • small files (101-200 lines of code)
  • medium size files (201-500 lines of code)
  • long files (501-1000 lines of code)
  • very long files (1001+ lines of code)

A Sokrates file size report then answers the following questions:

  • What is the overall file size distributions?
  • What is the file size distributions per file type?
  • What is the file size distributions per component?
  • What are the longest files?

As an example, take a look at the JUnit5 file size report. Figure 1 and 2 show two elements from this report.

Figure 1: A fragment from the Sokrates file size report. The project has 666 files, most of which are very small.

Figure 2: A 3D view on files and their size. Each block is one file. The height of the block represents the file relative size in lines of code. The color of the file represents its unit size category: green=0-200, yellow=201-500, orange=501-1000, red=1001+.