The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Analizo::Metric::DepthOfInheritanceTree - Depth of Inheritance Tree (DIT) metric

DESCRIPTION

The metric calculation is based on the following article and calculates the longest path from a module to the class hierarchy root.

Article: An empirical study of aspect-oriented metrics by Eduardo Kessler Piveta, Ana Moreira, Marcelo Soares Pimenta, Joao Araujo, Pedro Guerreiro and R. Tom Price.

See the adaptation of the paragraph about Depth of Inheritance Tree in the article:

Considering a function s(x) : Module -> Module that computes the super-class or super-aspect of a giver module, the value of DIT is given by:

  DIT(m) = DIT(s(m)) + 1, ifc m != rootClass
  DIT(m) = 0, otherwise.