The check to ensure that requires that comments be the only thing on a line. For the case of // comments that means that the only thing that should precede it is whitespace. It doesn't check comments if they do not end line, i.e. it accept the following: Thread.sleep( 10 <some comment here> ); Format property is intended to deal with the "} // while" example.

Rationale: Steve McConnel in "Code Complete" suggests that endline comments are a bad practice. An end line comment would be one that is on the same line as actual code. For example:

  
    a = b + c; // Some insightful comment
    d = e / f; // Another comment for this line
  

Quoting "Code Complete" for the justfication:

His comments on being hard to maintain when the size of the line changes are even more important in the age of automated refactorings.