In this chapter, we will discuss how Sonar reports on complexity and the measures it supports. Firstly, we will clarify how complexity in Java programs is calculated and then look into the concepts of coupling, cohesion, and dependencies.
Finally, we will review how Sonar reports on those measures and especially detail the design matrix, which is an essential component to manage dependencies in complex software pieces.
In this chapter we will cover:
Software and its complexity could be described as ...