aws / aws-toolkit-jetbrains
Conditional Complexity

The distribution of complexity of units (measured with McCabe index).

Intro
  • Conditional complexity (also called cyclomatic complexity) is a term used to measure the complexity of software. The term refers to the number of possible paths through a program function. A higher value ofter means higher maintenance and testing costs (infosecinstitute.com).
  • Conditional complexity is calculated by counting all conditions in the program that can affect the execution path (e.g. if statement, loops, switches, and/or operators, try and catch blocks...).
  • Conditional complexity is measured at the unit level (methods, functions...).
  • Units are classified in four categories based on the measured McCabe index: 1-5 (simple units), 6-10 (medium complex units), 11-25 (complex units), 26+ (very complex units).
Learn more...
Conditional Complexity Overall
  • There are 2,686 units with 28,158 lines of code in units (33.6% of code).
    • 0 very complex units (0 lines of code)
    • 1 complex units (97 lines of code)
    • 2 medium complex units (88 lines of code)
    • 32 simple units (1,253 lines of code)
    • 2,651 very simple units (26,720 lines of code)
0% | <1% | <1% | 4% | 94%
Legend:
51+
26-50
11-25
6-10
1-5
Alternative Visuals
Conditional Complexity per Extension
51+
26-50
11-25
6-10
1-5
cs0% | 11% | 0% | 8% | 79%
kt0% | 0% | <1% | 4% | 95%
java0% | 0% | 0% | 18% | 81%
kts0% | 0% | 0% | 0% | 100%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
jetbrains-rider0% | 5% | 0% | 18% | 76%
jetbrains-core0% | 0% | <1% | 3% | 96%
detekt-rules0% | 0% | 0% | 26% | 73%
core0% | 0% | 0% | 3% | 96%
jetbrains-ultimate0% | 0% | 0% | <1% | 99%
buildSrc0% | 0% | 0% | 0% | 100%
resources0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
private static bool IsCustomDataType()
in jetbrains-rider/ReSharper.AWS/src/AWS.Psi/Lambda/LambdaFinder.cs
97 29 1
fun forceUi()
in jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/deploy/DeployServerlessApplicationDialog.kt
57 16 14
override fun canRun()
in jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/execution/sam/SamInvokeRunner.kt
31 11 2
override fun downloadVersion()
in jetbrains-core/src/software/aws/toolkits/jetbrains/services/ssm/SsmPlugin.kt
15 9 3
override fun flush()
in core/src/software/aws/toolkits/core/telemetry/TelemetryBatcher.kt
31 9 1
override fun loadObjects()
in jetbrains-core/src/software/aws/toolkits/jetbrains/services/s3/editor/S3TreeNode.kt
45 8 1
override suspend fun handleMessages()
in jetbrains-core/src/software/aws/toolkits/jetbrains/services/cloudwatch/logs/CloudWatchActor.kt
74 8 0
public LambdaInputPanel()
in jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/execution/LambdaInputPanel.java
67 8 1
override fun updateInfo()
in jetbrains-rider/src-211+/software/aws/toolkits/jetbrains/services/lambda/dotnet/DotNetSamProjectGenerator.kt
38 8 0
fun forbidPsiUtil()
in detekt-rules/tst/software/aws/toolkits/gradle/detekt/rules/BannedPatternRuleTest.kt
25 7 0
open suspend fun hackyBuildDockerfileWithUi()
in jetbrains-core/src/software/aws/toolkits/jetbrains/core/docker/ToolkitDockerAdapter.kt
48 7 2
override fun getTableCellRendererComponent()
in jetbrains-core/src/software/aws/toolkits/jetbrains/utils/ui/UiUtils.kt
19 7 6
fun evaluate()
in jetbrains-core/src/software/aws/toolkits/jetbrains/utils/CachingAsyncEvaluator.kt
35 7 1
override fun loadObjects()
in jetbrains-core/src/software/aws/toolkits/jetbrains/services/s3/editor/S3TreeNode.kt
47 7 1
override fun determineHandler()
in jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/python/PythonLambdaHandlerResolver.kt
22 7 1
override fun actionPerformed()
in jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/actions/DeployServerlessApplicationAction.kt
52 7 1
public void CollectRunMarkers()
in jetbrains-rider/ReSharper.AWS/src/AWS.Daemon/RunMarkers/LambdaRunMarkerProvider.cs
17 7 3
private void Load()
in jetbrains-rider/ReSharper.AWS/src/AWS.Localization/JavaPropertiesLoader.cs
15 7 1
private bool IsHandlerExists()
in jetbrains-rider/ReSharper.AWS/src/AWS.Psi/Lambda/LambdaPsiHost.cs
30 7 4
private static bool HasRequiredParameters()
in jetbrains-rider/ReSharper.AWS/src/AWS.Psi/Lambda/LambdaFinder.cs
10 7 1