Metric-McCabeComplexity¶
McCabe Cyclomatic Complexity
Required inputs: RFG
Computes the number of nodes in the control flow graph of a routine that have more than one outgoing edge.
For nodes originating in switch-statements, each nonempty case section is counted. It is also known as cyclomatic complexity.
Roughly speaking, the value Metric.McCabe_Complexity is computed by summing up
- the number of if-statements,
- the number of loop statements (e.g. for and while),
- the number of conditional (?) operators,
- the number of catch clauses, and
- the number of nonempty case-sections
- plus the value one.
So Metric.McCabe_Complexity is always greater zero.
Possible Messages
This rule has no predefined messages.
Options¶
This rule shares the following common options: exclude_messages_in_system_headers, excludes, includes, justification_checker, post_processing, provider, severity
This rule shares the following common metric options: base_view_name, excluded_node_types, hierarchy_edge_name, hierarchy_view_name, propagate, report_all_values, report_propagated_values
The following places define options that affect this rule: Analysis-GlobalOptions
display_name¶
display_name : str | None = 'McCabe Cyclomatic Complexity'
max_value¶
max_value : int | None = 20
min_value¶
min_value : int | None = 1
rfg_metric_name¶
rfg_metric_name : str = 'Metric.McCabe_Complexity'