Similarly, higher levels of complexity in software increase the risk of unintentionally interfering with interactions, thus increasing the risk of introducing defects when changing the software.
In more extreme cases, it can make modifying the software virtually impossible.
Many of these, although yielding a good representation of complexity, do not lend themselves to easy measurement.
Some of the more commonly used metrics are Several other metrics can be used to measure programming complexity: Tesler's Law is an adage in human–computer interaction stating that every application has an inherent amount of complexity that cannot be removed or hidden.
Chidamber and Kemerer[4] proposed a set of programing complexity metrics widely used in measurements and academic articles: weighted methods per class, coupling between object classes, response for a class, number of children, depth of inheritance tree, and lack of cohesion of methods, described below: