object

wmc_metric

Weighted Methods per Class (WMC) metric. Uses unit weights, i.e., the score is the number of locally defined (non-auxiliary) predicates. Protocols are not scored as they cannot define predicates. The score is represented by a non-negative integer.

Availability:
logtalk_load(code_metrics(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2026-03-13
Compilation flags:
static, context_switching_calls
Remarks:
  • Unit weights: Each predicate is assigned a weight of 1. A cyclomatic-complexity-weighted variant is not provided as the Logtalk reflection API does not expose intra-clause branching structure (if-then-else, disjunction), which would produce the same approximations as the cc_metric.

  • Interpretation: Higher scores indicate an entity with more responsibilities that may benefit from being split.

  • Aggregation: When computing scores for files, directories, and libraries, the individual entity scores are summed.

Public predicates

(no local declarations; see entity ancestors if any)

Protected predicates

(no local declarations; see entity ancestors if any)

Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)