This tutorial lists important definitions used throughout the Mezuro website. Knowing them is vital for complete understanding of the platform.

Granularity

Represents the granularity level of the code fragment being measured. Mezuro uses five levels of granularity:

  • Method
  • Function
  • Class
  • Package
  • Software

Module

Represents a fragment of the software. Every node in the processing tree generated by the Kalibro processor is a module and each module has a granularity.

Range

Represents numerical intervals that may contain the value calculated for a given metric. Ranges combined with readings provide interpretations for metric results.

Reading

The interpretation given to a metric result (e.g., “Good”, “Complex”, “A”). Readings combined with ranges provide interpretations for metric results.

Reading Group

A set of readings that make sense when grouped together (e.g., “Good” and “Bad”, “Simple” and “Complex”).

Metric

A software metric is a method for evaluating some interesting property of a software module. It can be:

  • Quantitative, generating a numeric measure (e.g, “Number of Lines”, “Cyclomatic Complexity”, “Number of Public Methods”)
  • Qualitative, identifying points of interest or issues in particular parts of the code (e.g. “Unused Variable in line 10 of file main.rb”, “Duplicated Code in line 20 of file user.b and line 30 of file post.rb”)

For more details see the publications page.

Configuration

A set of related metrics that can be used to evaluate a code repository, usually targetting the same programming language or type of issue (e.g., “Ruby Code Quality”, “Web Programming Style”).

Metric Result

The products of the analysis of a repository by a given metric. Each metric result is associated to a module of the same granularity, belonging to a repository’s code.

It can be classified as a tree metric result (generated by a quantitative metric) or a hotspot metric result (generated by a qualitative metric).