You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recently I have read about an interesting upgrade of Cyclomatic Complexity called Cognitive Complexity.
Cyclomatic Complexity was initially formulated as a measurement of the “testability and
maintainability” of the control flow of a module. While it excels at measuring the former, its
underlying mathematical model is unsatisfactory at producing a value that measures the
latter. This white paper describes a new metric that breaks from the use of mathematical
models to evaluate code in order to remedy Cyclomatic Complexity’s shortcomings and
produce a measurement that more accurately reflects the relative difficulty of understanding,
and therefore of maintaining methods, classes, and applications.
Hello,
Recently I have read about an interesting upgrade of Cyclomatic Complexity called Cognitive Complexity.
Here is the paper: https://www.sonarsource.com/docs/CognitiveComplexity.pdf
I have also seen two implementations for PHP:
https://github.com/Symplify/Symplify/blob/2a449a660d48658088e35be8bd565111c230fa78/packages/TokenRunner/src/Analyzer/SnifferAnalyzer/CognitiveComplexityAnalyzer.php
https://github.com/NielsdeBlaauw/php-doc-check/blob/master/src/Metrics/CognitiveComplexity.php
I guess it could be an interesting addition to PHP Metrics.
( Side note: I have submitted similar issue to PHP Mess Detector: phpmd/phpmd#594 )
The text was updated successfully, but these errors were encountered: