Tag Archives: CheckStyle

Common problems and solutions of checkstyle error reporting

Common problems and solutions of checkstyle error reporting

Statement:

This article is extracted from Baidu Library. I hope the specifications mentioned in this article can have a good effect on everyone’s programming. This article is updated from time to time and will launch more detailed programming specifications.

1    Prompt: type is missing a Javadoc commentclass

Description: missing type description

Solution: add Javadoc description

2    Prompt: “{” should be on the previous line

Description: ‘{‘ should be on the previous line

Solution: put “{” on the previous line

3    Tips: methos is missing a Javadoc comment

Note: the Javadoc comment is missing in front of the method

Solution: add Javadoc comments

4    Tips:   Expected @throws tag for“Exception”

Note: you want a description of @ throws in the comments

Solution: add such a line in the comment before the method: * @ throws exception if has error (exception description)

5    Prompt: “.” is preceded with whitespace

Description:  “.”  There must be no spaces in front of it

Solution: remove the space before “.”

6    Prompt: “.” is followed by whitespace

Description: ”   There must be no spaces after

Solution: remove the space after “.”

7    Prompt: “=” is not preceded with whitespace

Description: “=”   Missing space before

Solution: add a space before “=”

8    Prompt: “=” is not followed with whitespace

Description: “=”   Missing space after

Solution: add a space after “=”

9    Prompt: “}” should be on the same line

Description: “}”   Should be on the same line as the next statement

Solution: put “}” before the next line

10 prompt: unused @ param tag for “unused”

Note: there is no parameter “unused”, and no comment is required

Solution: “* @ param unusedparameter additional (parameter name)” remove the comment of this line of unusedparameter“

11 tips:   Variable “CA” missingjavadoc

Description: Javadoc comment is missing for variable “CA”

Solution: add Javadoc comment before “CA” variable:/* * ca. */(Note: be sure to add “.” after Ca.)

12 tips:   Line longer than 80characters

Description: the line length exceeds 80   。

Solution: divide it into multiple lines. If necessary, you can Ctrl + Shift + F

13 prompt: line contains a tab character

Description: the line contains the “tab” character

14 prompt: redundant “public” modifier

Description: redundant “public” modifier    。

Solution: redundant “public”

15 prompt: final modifier out of order with the JSL suggestion  

Note: the final modifier is in wrong order

16 tips:   Avoid using the “.*” formof import

Note: avoid using ‘. *’ in import format

17 prompt: redundant import from the same package

Description: import content from the same package

18 tips:   Unusedimport-java.util.list

Note: the java.util.list imported by import is not used

Solution: remove the imported redundant classes

19 prompt: duplicate import to line 13

Description: import the same content repeatedly    

Solution: remove the imported redundant classes

20 tips:   Import from illegalpackage

Description: import content from illegal package

21 prompt: “while” construct must use “{}”  

Description: ‘while’ statement is missing ‘{}’

22 tips:   Variable “sTest1” must beprivate and have accessor method

Note: the variable “stest1” should be private and have a method to call it

23 tips:   Variable “ABC” must matchpattern “^[a-z][a-zA-Z0-9]*$”

Note: the variable “ABC” does not conform to the naming rule “^ [A-Z] [a-za-z0-9] * $”

Solution: change the name to “ABC” in accordance with the rules

24 prompt: “(” is followed by whitespace ”       “)” is proceeded by whitespace

Description: ‘(‘ cannot be followed by a space                       “)” There must be no spaces before

Solution: remove the space before or after

25 prompt: first sense should end with a period

Solution: add a “.” at the end of the first line of your comment

26 tips:   Redundant throws:’NameNotFoundException’ is subclass of ‘NamingException’.

Description: ‘namenotfoundexception’ is a subclass of ‘namingexception’. Exceptions are repeatedly thrown

Solution: if two exceptions are thrown, and one exception class is a subclass of the other, you only need to write the parent class

Remove the namenotfoundexception exception and the corresponding Javadoc comment. The exception note also needs to be removed

27 tips:   Parameter docType should be final.

Description:   Parameter DOCTYPE should be final  

Solution: add final before the parameter DOCTYPE

28 tips:   Line has trailing spaces.

Description: extra blank lines  

Solution: remove this blank line

29 tips:   Must have at least onestatement.  

Description:   At least one declaration

Solution: the exception capture in try {} catch() {} cannot be empty. Add a sentence to the exception. Such as printing, etc

30 prompt: ‘>’ Is not followed by whitespace  ‘(‘ is preceded with whitespace.

Description: when defining sets and enumerations, the last “>” There should be a space after “(” and no space before “(“

Solution: get rid of generics (usually where generics are easy to cause this problem)

31 prompt: got an exception – java.lang.runtimeexception: unable to get classinformation for @ throws tag ‘SystemException’

Description: unreasonable throws

Solution: ensure that certain types, such as certain classes and interfaces, are not thrown. Remove the declared exception. Throw an exception in the implementation class

Online reference solution: 1. This is the error reported by checkstyle. Usually you need to refresh, clean/build this project. If not, you can try clean all projects, restart eclipse

2. Because the compiled class is not in the classpath of checkstyle, just configure the compiled class in & lt; checkstyle/> In addition, I also found that there seems to be a problem with the line length of checkstyle. It clearly does not exceed 120 characters, but it still reports an error. Unfortunately, I put Java > code style > The maximum line with in the format is changed to 100, and then the format is changed. Basically, there is no problem

32 tips:   File does not end with anewline.

Solution: delete the error reporting class, create a new class with the same name, and copy all the code

33 prompt: utility classes should not have a public or default constructor

Description:   There should be no public or default constructor in the inner class of the interface

Solution: define a private constructor in the inner class, and then declare the inner class as final. If there is static in front of it, final must also be placed after static

34 prompt: variable ‘FUNCTIONCODE’ must be private and have accessor methods

Note: change the. Variable to private, and then provide access methods

Solution: change the modifier of these variables to private, then provide set and get methods, and add corresponding method Javadoc comments and parameter comments. And add final before the return value and parameter type. And change the place where this variable is called to be accessed through the method

35 tips:  ‘ X’ hides a field.

Description: global private int x; Duplicate the X variable name of local publicfoo (int x)
solution: just change the parameter name in the method. Public foo (int newbar)

36 tips:   Got an exception -Unexpected character 0xfffd in identifier

Note: This is because checkstyle cannot recognize the specified coding format

Online reference solution:

1. Eclipse can be configured in other — > You can specify in the checker

2. You can modify the checkstyle configuration file:

< modulename=”Checker”>

< propertyname=”severity” value=”warning”/>

< property name=”charset”value=”UTF-8″/>

< modulename=”TreeWalker”>

If it is UTF-8, add the statement in bold and italics

37       Tips:   Got an exception -java.lang.RuntimeException: Unable to get class information for @throws tag*whatever*.

Online reference solution: select Javadoc — > Method JavaDoc –> logLoadErrors。 If there is an error when checkstyle loads itself, just type a log. Don’t make the errors frightening( I haven’t encountered this problem, so I haven’t tried)
there is another possible error. Coding Problems –> Redundant Throws –> Select logloaderrors

38 tips:   Expected @param tag for ‘dataManager’.

Description: missing comment for datamanager parameter   

Solution: add @ param datamanager datamanager to the comment