aws / aws-sdk-unity-net
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 13,402 units with 124,041 lines of code in units (52.6% of code).
    • 0 very complex units (0 lines of code)
    • 25 complex units (3,358 lines of code)
    • 349 medium complex units (17,507 lines of code)
    • 785 simple units (22,793 lines of code)
    • 12,243 very simple units (80,383 lines of code)
0% | 2% | 14% | 18% | 64%
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% | 2% | 14% | 18% | 64%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
src/Services/Lambda0% | 10% | 14% | 17% | 57%
src/Services/S30% | 6% | 21% | 17% | 55%
src/Services/SimpleEmail0% | 6% | 9% | 15% | 68%
src/Services/CognitoSync0% | 4% | 8% | 13% | 73%
src/Services/SQS0% | 7% | 9% | 19% | 63%
src/Services/SimpleNotificationService0% | 1% | 10% | 27% | 60%
src/Services/DynamoDBv20% | 0% | 14% | 20% | 65%
src/Services/IdentityManagement0% | 0% | 13% | 19% | 67%
src/Services/KinesisFirehose0% | 0% | 22% | 17% | 60%
src/Core/Amazon.Runtime0% | 0% | 11% | 17% | 71%
src/Services/CognitoIdentity0% | 0% | 23% | 11% | 65%
src/Services/SecurityToken0% | 0% | 20% | 15% | 63%
src/Services/Kinesis0% | 0% | 8% | 16% | 74%
src/Core/Amazon.Util0% | 0% | 5% | 11% | 83%
src/Core/Amazon.Auth0% | 0% | 12% | 35% | 52%
src/Core/_unity0% | 0% | 25% | 20% | 54%
src/Core/RegionEndpoint0% | 0% | 12% | 20% | 67%
src/Services/MobileAnalytics0% | 0% | 3% | 27% | 69%
src/Core0% | 0% | 0% | 39% | 60%
src/Core/Amazon.MissingTypes0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
public override AmazonServiceException UnmarshallException()
in src/Services/Lambda/Generated/Model/Internal/MarshallTransformations/InvokeResponseUnmarshaller.cs
93 45 3
public IRequest Marshall()
in src/Services/S3/Custom/Model/Internal/MarshallTransformations/PutBucketReplicationRequestMarshaller.cs
195 42 1
public IRequest Marshall()
in src/Services/SimpleEmail/Generated/Model/Internal/MarshallTransformations/CreateReceiptRuleRequestMarshaller.cs
155 40 1
public IRequest Marshall()
in src/Services/SimpleEmail/Generated/Model/Internal/MarshallTransformations/UpdateReceiptRuleRequestMarshaller.cs
151 39 1
private void RunSyncOperation()
in src/Services/CognitoSync/Custom/SyncManager/Dataset.cs
255 37 1
private static void ProcessPreRequestHandlers()
in src/Services/S3/Custom/Internal/AmazonS3PreMarshallHandler.cs
95 37 1
public IRequest Marshall()
in src/Services/S3/Custom/Model/Internal/MarshallTransformations/PutLifecycleConfigurationRequestMarshaller.cs
158 37 1
public IRequest Marshall()
in src/Services/SimpleEmail/Generated/Model/Internal/MarshallTransformations/SendEmailRequestMarshaller.cs
124 31 1
public IRequest Marshall()
in src/Services/SQS/Generated/Model/Internal/MarshallTransformations/SendMessageBatchRequestMarshaller.cs
130 30 1
public IRequest Marshall()
in src/Services/SimpleEmail/Generated/Model/Internal/MarshallTransformations/SendBulkTemplatedEmailRequestMarshaller.cs
125 30 1
private static void UnmarshallResult()
in src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetObjectResponseUnmarshaller.cs
71 30 2
public IRequest Marshall()
in src/Services/S3/Custom/Model/Internal/MarshallTransformations/PutBucketWebsiteRequestMarshaller.cs
142 30 1
public FunctionConfiguration Unmarshall()
in src/Services/Lambda/Generated/Model/Internal/MarshallTransformations/FunctionConfigurationUnmarshaller.cs
168 29 1
public IRequest Marshall()
in src/Services/SimpleEmail/Generated/Model/Internal/MarshallTransformations/SendBounceRequestMarshaller.cs
116 29 1
public override AmazonServiceException UnmarshallException()
in src/Services/SimpleNotificationService/Generated/Model/Internal/MarshallTransformations/PublishResponseUnmarshaller.cs
61 29 3
private static void UnmarshallResult()
in src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetObjectMetadataResponseUnmarshaller.cs
68 29 2
public override AmazonWebServiceResponse Unmarshall()
in src/Services/Lambda/Generated/Model/Internal/MarshallTransformations/PublishVersionResponseUnmarshaller.cs
166 28 1
public override AmazonWebServiceResponse Unmarshall()
in src/Services/Lambda/Generated/Model/Internal/MarshallTransformations/CreateFunctionResponseUnmarshaller.cs
166 28 1
public override AmazonWebServiceResponse Unmarshall()
in src/Services/Lambda/Generated/Model/Internal/MarshallTransformations/UpdateFunctionCodeResponseUnmarshaller.cs
166 28 1
public override AmazonWebServiceResponse Unmarshall()
in src/Services/Lambda/Generated/Model/Internal/MarshallTransformations/UpdateFunctionConfigurationResponseUnmarshaller.cs
166 28 1