Trikalabs
  • Home
  • Best online TDD videos
  • Book Suggestions
  • About Me
  • Contact
Trikalabs
No Result
View All Result

Cyclomatic complexity

by fragi
November 11, 2021
in TDD
Share on FacebookShare on Twitter

According to Wikipedia (https://en.wikipedia.org/wiki/Cyclomatic_complexity):

Cyclomatic complexity is a software metric used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program’s source code. It was developed by Thomas J. McCabe, Sr. in 1976.

As the definition states, this is the number of linearly independent paths. Consider the following code:

Swift
1
2
3
4
5
6
7
func switchAppearance(isDarkMode: Bool) {
    if isDarkMode {
        showDarkUI()
    } else {
        showDefaultUI()
    }
}

What is the cyclomatic complexity of this code? We can see that the code has two paths, or more quickly 1 (if) + 1 = 2.

Let’s try another example:

Swift
1
2
3
func switchAppearance(isDarkMode: Bool) {
    isDarkMode ? showDarkUI() : showDefaultUI()
}

What is the cyclomatic complexity of this code? It is again 2. The ternary operator creates two paths.

Let’s try another one:

Swift
1
2
3
4
5
func calculateAmountToPay() -> Double {
    let totalProductAmount = calculatProductsAmount()
    let discountAmount = calculatDiscountAmount()
    return totalProductAmount - discountAmount
}

What is the cyclomatic complexity of this code? It is 1 because there is only one path.

Tags: TDDUnit Testing
fragi

fragi

Related Posts

What is TDD?
TDD

XCTestCase lifecycle

May 25, 2021

XCTestCase has many methods as part of its lifecycle. It has a class setup method that executes only once before...

What is TDD?
TDD

Make your tests more readable

May 23, 2021

In the FizzBuzz code challenge, we had to write the following test method: Although the test is easy to...

What is TDD?
TDD

@testable

May 16, 2021

At the beginning of the FizzBuzz code challenge , we deleted the @testable line of code. What does this @testable...

What is TDD?
TDD

What is SUT

May 16, 2021

In many articles about TDD, you will find the term SUT, which refers to the System Under Test. Using SUT...

What is TDD?
TDD

Why unit testing is valuable

May 16, 2021

There are many benefits of writing unit tests. The test we write can serve as a documentation of what the...

What is TDD?
TDD

Easier navigation through test methods

May 13, 2021

In the FizzBuzz code challenge ,we end up having eight test methods; in more complex classes, we may have more....

Next Post
What is TDD?

Why unit testing is valuable

What is TDD?

What is SUT

What is TDD?

@testable

  • Advertise
  • Privacy & Policy
  • Contact

© 2019 Trikalabs Ltd. All rights reserved.

No Result
View All Result
  • Home
  • About Me
  • A curated list with the best free online TDD videos
  • Book Suggestions
  • Pinner Code Club

© 2019 Trikalabs Ltd. All rights reserved.