1 提示:Type is missing a javadoc commentClass
說明:缺少類型說明
解決方法:增加javadoc說明
2 提示:“{” should be on the previous line
說明:“{”應(yīng)該位于前一行顶滩。
解決方法:把“{”放到上一行去
3 提示:Methos is missing a javadoc comment
說明:方法前面缺少javadoc注釋。
解決方法:添加javadoc注釋
4 提示: Expected @throws tag for“Exception”
說明:在注釋中希望有@throws的說明
解決方法:在方法前得注釋中添加這樣一行:* @throws Exception if has error(異常說明)
5 提示:“.” Is preceeded with whitespace
說明: “.” 前面不能有空格。
解決方法:把“.”前面的空格去掉
6 提示:“.” Is followed by whitespace
說明:“.” 后面不能有空格劝贸。
解決方法:把“.”后面的空格去掉
7 提示:“=” is not preceeded with whitespace
說明:“=” 前面缺少空格撕贞。
解決方法:在“=”前面加個(gè)空格
8 提示:“=” is not followed with whitespace
說明:“=” 后面缺少空格决采。
解決方法:在“=”后面加個(gè)空格
9 提示:“}” should be on the same line
說明:“}” 應(yīng)該與下條語句位于同一行域滥。
解決方法:把“}”放到下一行的前面
10 提示:Unused @param tag for “unused”
說明:沒有參數(shù)“unused”靡挥,不需注釋
解決方法:“* @param unusedparameter additional(參數(shù)名稱)” 把這行unused參數(shù)的注釋去掉“
11 提示: Variable “CA” missingjavadoc
說明:變量“CA”缺少javadoc注釋
解決方法:在“CA“變量前添加javadoc注釋:/** CA. */(注意:一定記得加上CA后面的“.”)
12 提示: Line longer than 80characters
說明:行長度超過80 序矩。
解決方法:把它分成多行寫。必要時(shí)候跋破,可以ctrl+shift+f
13 提示:Line contains a tab character
說明:行含有”tab” 字符簸淀。
14 提示:Redundant “Public” modifier
說明:冗余的“public” modifier 。
解決方法:冗余的“public”
15 提示:Final modifier out of order with the JSL suggestion
說明:Final modifier的順序錯(cuò)誤
16 提示: Avoid using the “.*” formof import
說明:Import格式避免使用“.*”
17 提示:Redundant import from the same package
說明:從同一個(gè)包中Import內(nèi)容
18 提示: Unusedimport-java.util.list
說明:Import導(dǎo)入進(jìn)來的java.util.list沒有被使用毒返。
解決方法:去掉導(dǎo)入的多余的類
19 提示:Duplicate import to line 13
說明:重復(fù)Import同一個(gè)內(nèi)容
解決方法:去掉導(dǎo)入的多余的類
20 提示: Import from illegalpackage
說明:從非法包中 Import內(nèi)容
21 提示:“while” construct must use “{}”
說明:“while” 語句缺少“{}”
22 提示: Variable “sTest1” must beprivate and have accessor method
說明:變量“sTest1”應(yīng)該是private的租幕,并且有調(diào)用它的方法
23 提示: Variable “ABC” must matchpattern “^[a-z][a-zA-Z0-9]*$”
說明:變量“ABC”不符合命名規(guī)則“^[a-z][a-zA-Z0-9]*$”
解決方法:把這個(gè)命名改成符合規(guī)則的命名 “aBC”
24 提示:“(” is followed by whitespace “)”is proceeded by whitespace
說明:“(” 后面不能有空格 “)” 前面不能有空格
解決方法:把前面或者后面的空格去掉
25 提示:First sentence should end with a period.
解決方法:你的注釋的第一行文字結(jié)束應(yīng)該加上一個(gè)"."。
26提示: Redundant throws:'NameNotFoundException' is subclass of 'NamingException'.
說明:'NameNotFoundException '是'NamingException'的子類重復(fù)拋出異常拧簸。
解決方法:如果拋出兩個(gè)異常劲绪,一個(gè)異常類是另一個(gè)的子類,那么只需要寫父類
去掉NameNotFoundException異常,對應(yīng)的javadoc注釋異常注釋說明也需要去掉
27 提示: Parameter docType should be final.
說明: 參數(shù)docType應(yīng)該為final類型
解決方法:在參數(shù)docType前面加個(gè)final
28 提示: Line has trailing spaces.
說明:多余的空行
解決方法:去掉這行空行
29 提示: Must have at least onestatement.
說明: 至少有一個(gè)聲明
解決方法:try{}catch(){}中的異常捕捉里面不能為空贾富,在異常里面加一句話歉眷。如打印等
30 提示:'>' is not followed by whitespace.并且又有 '('is preceded with whitespace.
說明:定義集合和枚舉的時(shí)候的時(shí)候,最后一個(gè)“>”后面要有空格颤枪,“(”前面不容許有空格汗捡。
解決方法:去掉泛型(通常是泛型的地方容易出這個(gè)問題)
31 提示:Got an exception - java.lang.RuntimeException: Unable to get classinformation for @throws tag 'SystemException'.
說明:不合理的throws。
解決方法:要確保某些類型畏纲,如某些類扇住、接口不被throws。把聲明的異常去掉霍骄。在實(shí)現(xiàn)類中拋出異常
網(wǎng)上參考解決方法:1台囱、這是CheckStyle報(bào)的錯(cuò)。通常需要Refreh, clean/build這個(gè)Project.如果不行读整,可以嘗試clean all projects, restart Eclipse.
2、因?yàn)榫幾g好的類沒有在checkstyle的classpath中.所以, 只要將編譯好的class配置到在<checkstyle/>的classpath中就沒有這個(gè)問題了.另外, 還發(fā)現(xiàn)checkstyle的line length好像也有點(diǎn)問題, 明明沒有超過120個(gè)字符, 卻還是報(bào)錯(cuò).無奈, 我把Eclipse中java> code style > formatter中的Maximumline with改成了100, 然后format一下, 基本就沒有問題了
32 提示: File does not end with anewline.
解決方法:刪掉報(bào)錯(cuò)的類咱娶,新建一個(gè)同名的類米间,把代碼全部復(fù)制過去
33 提示:Utility classes should not have a public or default constructor.
說明: 接口中的內(nèi)部類中不應(yīng)該有公共的或者默認(rèn)的構(gòu)造方法
解決方法:在內(nèi)部類中,定義一個(gè)私有的構(gòu)造方法膘侮,然后內(nèi)部類聲明為final類型屈糊。如果前面有static,那么final還必須放在static之后
34 提示:Variable 'functionCode' must be private and have accessor methods
說明:.變量要改成private然后提供訪問的方法
解決方法:給這些變量的修飾符改成private琼了,然后提供set逻锐,get方法,并加上對應(yīng)的方法javadoc注釋雕薪、參數(shù)注釋昧诱。并在返回值和參數(shù)類型前添加final。并把調(diào)用了這個(gè)變量的地方改成通過方法訪問
35 提示: 'X' hides a field.
說明:全局private int X;和局部publicFoo(int X)的X變量名字重復(fù)所袁。
解決方法:把方法里面的參數(shù)名稱改變下就可以了public Foo(int newBar)
36 提示: Got an exception -Unexpected character 0xfffd in identifier
說明:這是因?yàn)镃heckStyle不能識(shí)別制定的編碼格式盏档。
網(wǎng)上參考解決方法:
1、Eclipse中可以配置燥爷,在Other-->checker中可以指定
2蜈亩、可以修改checkstyle配置文件:
<modulename="Checker">
<propertyname="severity" value="warning"/>
<property name="charset"value="UTF-8"/>
<modulename="TreeWalker">
如果是UTF-8的話,就添加加粗斜體的那條語句前翎,就可以了稚配。
37 提示: Got an exception -java.lang.RuntimeException: Unable to get class information for @throws tagwhatever.
網(wǎng)上參考解決方法:選中CheckSytle的JavaDoc--> Method JavaDoc --> logLoadErrors。如果是CheckStyle自己加載時(shí)出錯(cuò)的港华,打個(gè)Log就可以了道川,不要整出Errors嚇人。(這個(gè)問題沒遇到過,所以沒做過嘗試)
還有一處也可能包出同樣的錯(cuò)誤愤惰。Coding Problems -->Redundant Throws --> logLoadErrors選中即可
38 提示: Expected @param tag for 'dataManager'.
說明:缺少dataManager參數(shù)的注釋
解決方法:在注釋中添加@param dataManager DataManager