PDM

PMD

來(lái)源網(wǎng)址:http://wenda.tianya.cn/question/497921dba4731b8f

D:\軟件-zlp\pmd-bin-4.2.5\pmd-4.2.5\bin>java -jar ..\lib\pmd-4.2.5.jar E:\代碼\src text rulesets/unusedcode.xml

rulesets/internal/all-java.xml表示所有的規(guī)則

-reportfile 1.txt將結(jié)果輸出到文檔中

Jtest 污秆、FindBugs健芭、PMD

http://wenku.baidu.com/view/2b52ced13186bceb19e8bb9b.html?re=view

http://blog.csdn.net/sadamdiyi/article/details/6073694

http://www.cnblogs.com/flyme/archive/2011/09/09/2172548.html

http://my.oschina.net/u/2258637/blog/342730

多個(gè)工具比較:http://www.oschina.net/question/129540_23043

需要學(xué)習(xí)一點(diǎn)java基礎(chǔ),java ?jdk環(huán)境的搭建块蚌,Eclipse的基本使用

findbugs:C:\My Directory>%FINDBUGS_HOME%\bin\findbugs.bat -gui

findbugs:http://blog.csdn.net/song198710/article/details/6500965

http://wenku.baidu.com/link?url=dluPWnkv3bINtb0ndbf_9qwpGsvsZxlpDHzWFRC8_oDI7G5pRUg2-K83TGPI93HQ8kb7cvIdVt-CunOhTC22AtCqRAVEDmHoM26K2msgQ9a

http://www.blogjava.net/pure/archive/2009/09/30/296989.html

http://blog.csdn.net/song198710/article/details/6500962bug分析記錄

http://wenku.baidu.com/link?url=dluPWnkv3bINtb0ndbf_9qwpGsvsZxlpDHzWFRC8_oDI7G5pRUg2-K83TGPI93HQ8kb7cvIdVt-CunOhTC22AtCqRAVEDmHoM26K2msgQ9a

設(shè)置:http://wenku.baidu.com/link?url=RHUk4AXayyKVgwcqN7nCt5cDFN7UCpAEOVsc1yOB76QKbzWa74VjnldHSYKrJqVbJ9kKOdG_UgXv3oJVdGU4c9itCFTC0yXGLKskxcH0oAi

PMD規(guī)則(轉(zhuǎn)載)

來(lái)源網(wǎng)址:http://www.ibm.com/developerworks/cn/java/j-pmd/

PMD 包含 16 個(gè)規(guī)則集,涵蓋了 Java 的各種常見問(wèn)題祸泪,其中一些規(guī)則要比其他規(guī)則更有爭(zhēng)議:

傳遞哪個(gè)名稱勤晚?

對(duì)于在命令行中傳遞的規(guī)則名稱饰序,沒(méi)有詳細(xì)的文檔記錄。有時(shí)需要試一下并產(chǎn)生一些錯(cuò)誤贰拿,您才能清楚這些名稱蛤袒。在這里,圓括號(hào)中給出的名稱是可以使用的壮不。

基本(rulesets/basic.xml)—— 規(guī)則的一個(gè)基本合集汗盘,可能大多數(shù)開發(fā)人員都不認(rèn)同它:catch塊不該為空,無(wú)論何時(shí)重寫equals()询一,都要重寫hashCode()隐孽,等等癌椿。

命名(rulesets/naming.xml)—— 對(duì)標(biāo)準(zhǔn) Java 命令規(guī)范的測(cè)試:變量名稱不應(yīng)太短;方法名稱不應(yīng)過(guò)長(zhǎng)菱阵;類名稱應(yīng)當(dāng)以小寫字母開頭踢俄;方法和字段名應(yīng)當(dāng)以小寫字母開頭,等等晴及。

未使用的代碼(rulesets/unusedcode.xml)—— 查找從未使用的私有字段和本地變量都办、執(zhí)行不到的語(yǔ)句、從未調(diào)用的私有方法虑稼,等等琳钉。

設(shè)計(jì)(rulesets/design.xml)—— 檢查各種設(shè)計(jì)良好的原則,例如:switch語(yǔ)句應(yīng)當(dāng)有default塊蛛倦,應(yīng)當(dāng)避免深度嵌套的if塊歌懒,不應(yīng)當(dāng)給參數(shù)重新賦值,不應(yīng)該對(duì) double 值進(jìn)行相等比較溯壶。

導(dǎo)入語(yǔ)句(rulesets/imports.xml)—— 檢查 import 語(yǔ)句的問(wèn)題及皂,比如同一個(gè)類被導(dǎo)入兩次或者被導(dǎo)入java.lang的類中。

JUnit 測(cè)試(rulesets/junit.xml)—— 查找測(cè)試用例和測(cè)試方法的特定問(wèn)題且改,例如方法名稱的正確拼寫验烧,以及suite()方法是不是 static 和 public。

字符串(rulesets/string.xml)—— 找出處理字符串時(shí)遇到的常見問(wèn)題又跛,例如重復(fù)的字符串標(biāo)量碍拆,調(diào)用String構(gòu)造函數(shù),對(duì)String變量調(diào)用toString()方法慨蓝。

括號(hào)(rulesets/braces.xml)—— 檢查for倔监、if、while和else語(yǔ)句是否使用了括號(hào)菌仁。

代碼尺寸(rulesets/codesize.xml)—— 測(cè)試過(guò)長(zhǎng)的方法、有太多方法的類以及重構(gòu)方面的類似問(wèn)題静暂。

Javabean(rulesets/javabeans.xml)—— 查看 JavaBean 組件是否違反 JavaBean 編碼規(guī)范济丘,比如沒(méi)有序列化的 bean 類。

終結(jié)函數(shù)(finalizer)—— 因?yàn)樵?Java 語(yǔ)言中洽蛀,finalize()方法不是那么普遍(我上次編寫這個(gè)代碼也經(jīng)是好多年前的事了)摹迷,所以它們的使用規(guī)則雖然很詳細(xì),但是人們對(duì)它們相對(duì)不是很熟悉郊供。這類檢查查找finalize()方法的各種問(wèn)題峡碉,例如空的終結(jié)函數(shù),調(diào)用其他方法的finalize()方法驮审,對(duì)finalize()的顯式調(diào)用鲫寄,等等吉执。

克隆(rulesets/clone.xml)—— 用于clone()方法的新規(guī)則地来。凡是重寫clone()方法的類都必須實(shí)現(xiàn)Cloneable戳玫,clone()方法應(yīng)該調(diào)用super.clone(),而clone()方法應(yīng)該聲明拋出CloneNotSupportedException異常未斑,即使實(shí)際上沒(méi)有拋出異常咕宿,也要如此。

耦合(rulesets/coupling.xml)—— 查找類之間過(guò)度耦合的跡象蜡秽,比如導(dǎo)入內(nèi)容太多府阀;在超類型或接口就已經(jīng)夠用的時(shí)候使用子類的類型;類中的字段芽突、變量和返回類型過(guò)多等试浙。

嚴(yán)格的異常(rulesets/strictexception.xml)—— 針對(duì)異常的測(cè)試:不應(yīng)該聲明該方法而拋出java.lang.Exception異常,不應(yīng)當(dāng)將異常用于流控制诉瓦,不應(yīng)該捕獲Throwable川队,等等。

有爭(zhēng)議的(rulesets/controversial.xml)—— PMD 的有些規(guī)則是有能力的 Java 程序員可以接受的睬澡。但還是有一些爭(zhēng)議固额。這個(gè)規(guī)則集包含一些更有問(wèn)題的檢驗(yàn),其中包括把 null 賦值給變量煞聪、方法中有多個(gè)返回點(diǎn)斗躏,以及從sun包導(dǎo)入等。

日志(rulesets/logging-java.xml)—— 查找java.util.logging.Logger的不當(dāng)使用昔脯,包括非終狀態(tài)(nonfinal)啄糙、非靜態(tài)的記錄器,以及在一個(gè)類中有多個(gè)記錄器云稚。

您可以一次用多個(gè)規(guī)則集進(jìn)行檢查隧饼,只需在命令行中用逗號(hào)分隔規(guī)則集名稱即可:

$ /usr/pmd-2.1/etc/pmd.sh ~/Projects/XOM/src html

rulesets/design.xml,rulesets/naming.xml,rulesets/basic.xml

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市静陈,隨后出現(xiàn)的幾起案子燕雁,更是在濱河造成了極大的恐慌,老刑警劉巖鲸拥,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拐格,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡刑赶,警方通過(guò)查閱死者的電腦和手機(jī)捏浊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)撞叨,“玉大人金踪,你說(shuō)我怎么就攤上這事浊洞。” “怎么了热康?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵沛申,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我姐军,道長(zhǎng)铁材,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任奕锌,我火速辦了婚禮著觉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惊暴。我一直安慰自己饼丘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布辽话。 她就那樣靜靜地躺著肄鸽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪油啤。 梳的紋絲不亂的頭發(fā)上典徘,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音益咬,去河邊找鬼逮诲。 笑死,一個(gè)胖子當(dāng)著我的面吹牛幽告,可吹牛的內(nèi)容都是我干的梅鹦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼冗锁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼齐唆!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起冻河,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蝶念,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后芋绸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡担敌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年摔敛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片全封。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡马昙,死狀恐怖桃犬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情行楞,我是刑警寧澤攒暇,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站子房,受9級(jí)特大地震影響形用,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜证杭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一田度、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧解愤,春花似錦镇饺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至哼鬓,卻和暖如春监右,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背魄宏。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工秸侣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宠互。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓味榛,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親予跌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子搏色,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容