Braces Rules

The Braces Ruleset contains a collection of braces rules.

IfStmtsMustUseBraces

Avoid using if statements without using curly braces

This rule is defined by the following XPath expression:

                   
    //IfStatement[count(*) < 3][not(Statement/Block)]
                   
               

Here's an example of code that would trigger this rule:

			
 
 public class Foo {
   public void bar() {
     int x = 0;
     if (foo) x++;
   }
 }
 
     
		

WhileLoopsMustUseBraces

Avoid using 'while' statements without using curly braces

This rule is defined by the following XPath expression:

                    
    //WhileStatement[not(Statement/Block)]
                    
                

Here's an example of code that would trigger this rule:

			
  
    public void doSomething() {
      while (true)
          x++;
    }
  
      
		

IfElseStmtsMustUseBraces

Avoid using if..else statements without using curly braces

This rule is defined by the following XPath expression:


//Statement
 [parent::IfStatement[@Else='true']]
 [not(child::Block)]
 [not(child::IfStatement)]
 
                 

Here's an example of code that would trigger this rule:

			
   

     public void doSomething() {
       // this is OK
       if (foo) x++;

       // but this is not
       if (foo)
           x=x+1;
       else
           x=x-1;
     }
   
       
		

ForLoopsMustUseBraces

Avoid using 'for' statements without using curly braces

This rule is defined by the following XPath expression:

                     
    //ForStatement[not(Statement/Block)]
                     
                 

Here's an example of code that would trigger this rule:

			
   
     public void foo() {
       for (int i=0; i<42;i++)
           foo();
     }