溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么輕松有效的檢查Java程序代碼

發(fā)布時間:2021-11-20 16:52:56 來源:億速云 閱讀:309 作者:柒染 欄目:編程語言

這篇文章給大家介紹怎么輕松有效的檢查Java程序代碼,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Java項目最枯燥的一部分, 也是程序員總是避而不談的一部分,就是檢查Java程序代碼。為了區(qū)塊括號、代碼縮進、Javadoc注釋以及命名約定而檢查其他人的上千行代碼的確是一件痛苦的事。 更糟糕的是,通常代碼的檢查還受限于緊迫的項目進度。沒有足夠的時間對代碼的細節(jié)進行評估,因此代碼檢查經(jīng)常變成了對代碼的美化練習(xí)。不管檢查者有多么好 的意圖,優(yōu)化和邏輯檢查都退居次席。

Java程序代碼分析器減輕了這樣的痛苦

在面對這種情況的時候,Java程序代碼分析器正是對癥良藥。這些工具盡可能地將代碼檢 查過程自動化。留給人工來做的就只有檢查類的缺陷以及核心邏輯并確定可能的優(yōu)化方法。優(yōu)化(去除不必要的實例化對象、檢查數(shù)據(jù)庫連接是否合理、確保數(shù)據(jù)在 可能的情況下被緩存)對于任何代碼通常會帶來性能上的極大改進。

最近我接觸了各種代碼分析器。我覺得一個基本的最重要的功能是與常用IDE(如 NetBeans、Eclipse、jEdit以及JDeveloper)的集成。有一些代碼檢查工具在查找錯誤方面很有效,但是它們需要你根據(jù)給出的錯 誤行的行號手工來追蹤錯誤。這樣的工具使用起來太累人了。與IDE環(huán)境集成了的工具可以大大簡化這個過程,因為代碼檢查的結(jié)果是由所使用的IDE顯示的。 你只需在錯誤上雙擊就可以在Java編輯器中到達錯誤代碼所在的行

我的試用心得

在我試用過的工具中,我發(fā)現(xiàn)其中三個工具十分強大并合乎與IDE集成的標(biāo)準(zhǔn),它們是: PMD 、 Checkstyle 和 Jalopy 。

PMD和Checkstyle

◆根據(jù)PMD的文檔,它會對代碼中的如下部分進行檢查:

◆未使用的本地變量

◆空的catch塊

◆未使用參數(shù)

◆空if語句

◆重復(fù)的import語句

◆未使用的私有方法

◆可能是Singletons的類

◆短/長變量及方法名字

◆Checkstyle檢查如下部分:

◆Javadoc注釋

◆命名約定

◆標(biāo)題

◆Import語句

◆體積大小

◆空白

◆修飾符

◆塊

◆混合檢查(包活一些有用的比如非必須的System.out和printstackTrace)

它們的作用

不像PMD,Checkstyle能夠檢查Javadoc注釋;但是PMD提供了一 項叫作CPD的很有用的功能,它檢查代碼的拷貝粘貼部分。我使用PMD找到的最頻繁的錯誤是未使用的import語句,未使用的私有變量以及意外重復(fù)拼 寫。Checkstyle可以發(fā)現(xiàn)更多的錯誤。包括漏掉的Javadoc注釋,超過80個字符的行、不合約定的變量名、用tab來代替空格等等。兩個工具 都允許創(chuàng)建自定義的規(guī)則。

如果想在你的組織中使用它們中的一個,Checkstyle似乎更好一些:它檢查公司編碼約定的大多數(shù)項目。如果增強代碼質(zhì)量是主要目標(biāo),那PMD是一個好的選擇。但是如果你想要更多的功能并真正使用工具來修改代碼,應(yīng)該試試Jalopy。

Jalopy

Jalopy是一個易于配置的源代碼格式程序,它能檢測并修補Java代碼中大量的 習(xí)慣性缺陷。Jalopy更像一個代碼整理器而不是檢查器。Jalopy的插件現(xiàn)在已經(jīng)支持大多數(shù)IDE,而且多數(shù)是無縫集成。我發(fā)現(xiàn)Jalopy特別強 大,能夠干許多很酷的事情。例如,它可以修改代碼縮進、對齊括號、使行寬符合某個字符長度、插入相關(guān)的Javadoc注釋以及對import語句排序。 Jalopy***的地方是超級自定義功能。一個簡單的用戶界面就可以讓你選擇Jalopy的所有功能的開關(guān),不需要XML配置文件。

不要浪費資源

我建議大家使用這些工具來代替那些費時費力卻收效甚微的人工代碼檢查工作。一旦使用 這些工具將代碼檢查變成了一個相對輕松的任務(wù),你就可以把代碼檢查作為一項普通工作而不是在項目結(jié)尾被進度逼得一團糟時做的事情。這些工具也提供了與 Apache Ant的集成,因此你可以每天運行這些代碼檢查器,在編譯或執(zhí)行單元測試它們也能工作得很好??刂坪媚愕腏ava程序代碼,并交付那些你真的認(rèn)為是高質(zhì)量的東西。

關(guān)于怎么輕松有效的檢查Java程序代碼就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI