Essential Complexity - Cyclomatic Complexity

Cyclomatic Complexity

Essential complexity is also used with a different meaning in connection with cyclomatic complexity. In this context, essential complexity refers to the cyclomatic complexity after iteratively replacing all well structured control structures with a single statement. Structures such as if-then-else and while loops are considered well structured and then do not increase the essential cyclomatic complexity. Unconstrained use of goto, break and continue statements can produce programs which can not be reduced in this way.

For example, the following C program fragment has an essential complexity of 1, because the inner if statement and the for can be reduced:

for(i=0;i<3;i++) { if(a == 0) b += 2; }

The following C program fragment has an essential complexity of more than one. It finds the first row of z which is all zero and puts that index in i; if there is none, it puts -1 in i.

for(i=0;igoto non_zero; } goto found; non_zero: } i = -1; found:

Read more about this topic:  Essential Complexity

Famous quotes containing the word complexity:

    In times like ours, where the growing complexity of life leaves us barely the time to read the newspapers, where the map of Europe has endured profound rearrangements and is perhaps on the brink of enduring yet others, where so many threatening and new problems appear everywhere, you will admit it may be demanded of a writer that he be more than a fine wit who makes us forget in idle and byzantine discussions on the merits of pure form ...
    Marcel Proust (1871–1922)