View Javadoc
1   /*xml
2   <module name="Checker">
3     <module name="TreeWalker">
4       <module name="CyclomaticComplexity"/>
5     </module>
6   </module>
7   */
8   package com.puppycrawl.tools.checkstyle.checks.metrics.cyclomaticcomplexity;
9   
10  // xdoc section -- start
11  class Example1 {
12    int a, b, c, d, e, n;
13  
14    public void testMethod1() {
15      while (a < b && a > c) {
16        fun1();
17      }
18      if (a == b) {
19        do {
20          fun1();
21        } while (d==a);
22      } else if (c == d) {
23        while (c > 0) {
24          fun1();
25        }
26        do {
27          fun1();
28        } while (a==d);
29      }
30    }
31    // violation below, 'Cyclomatic Complexity is 13 (max allowed is 10)'
32    public void testMethod2() { // 1, function declaration
33      if (a == b) { // 2, if
34        fun1();
35      } else if (a == 0 // 3, if
36        && b == c) { // 4, && operator
37        if (c == -1) { // 5, if
38          fun1();
39        }
40      } else if (a == c // 6, if
41        || a == d) { // 7, || operator
42        fun1();
43      } else if (d == e) { //8, if
44        try {
45          fun1();
46        } catch (Exception e) { // 9, catch
47        }
48      } else {
49        switch(n) {
50          case 1: // 10, case
51            fun1();
52            break;
53          case 2: // 11, case
54            fun1();
55            break;
56          case 3: // 12, case
57            fun1();
58            break;
59          default:
60            break;
61        }
62      }
63      a = a > 0 ? b : c; // 13, ternary operator
64    }
65    private void fun1() {}
66  }
67  // xdoc section -- end