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).
def main() in spark-process/src/main/scala/com/optimize/downstream/process/ProcessFilesFromS3AndConvertToParquet.scala
42
3
1
public Void handleRequest() in kinesis-lambda/src/main/java/com/optimize/downstream/lambda/ProcessKinesisRecords.java
34
3
2
public static void main() in sample-kinesis-producer/src/main/java/com/optimize/downstream/entry/Main.java
22
3
1
public void run() in sample-kinesis-producer/src/main/java/com/optimize/downstream/samplekinesisproducer/IOTDeviceConsumerFromBlockingQueueToKinesisStreams.java
18
3
0
private void pushToKinesis() in sample-kinesis-producer/src/main/java/com/optimize/downstream/samplekinesisproducer/IOTDeviceConsumerFromBlockingQueueToKinesisStreams.java
private ArrayList getAccelerometerList() in sample-kinesis-producer/src/main/java/com/optimize/downstream/samplekinesisproducer/IOTDeviceProducerToBlockingQueue.java
19
2
0
private ArrayList getGpsArrayList() in sample-kinesis-producer/src/main/java/com/optimize/downstream/samplekinesisproducer/IOTDeviceProducerToBlockingQueue.java