com.puppycrawl.tools.checkstyle.checks

Class TrailingCommentCheck

public class TrailingCommentCheck extends AbstractFormatCheck

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.

To configure the check so it enforces only comment on a line:

 <module name="TrailingComment">
    <property name="format" value="^\\s*$"/>
 </module>
 

Author: o_sukhodolsky

Constructor Summary
TrailingCommentCheck()
Creates new instance of the check.
Method Summary
voidbeginTree(DetailAST aRootAST)
{@inheritDoc}
int[]getDefaultTokens()
{@inheritDoc}
voidvisitToken(DetailAST aAST)
{@inheritDoc}

Constructor Detail

TrailingCommentCheck

public TrailingCommentCheck()
Creates new instance of the check.

Throws: ConversionException unable to parse DEFAULT_FORMAT.

Method Detail

beginTree

public void beginTree(DetailAST aRootAST)
{@inheritDoc}

getDefaultTokens

public int[] getDefaultTokens()
{@inheritDoc}

visitToken

public void visitToken(DetailAST aAST)
{@inheritDoc}