2009-05-27 25 views
0

在我們的應用程序的Java代碼中,我非常肯定有很多類和方法有public訪問權限,但可能只需要包級訪問。是否有分析Java類和方法的訪問級別的工具?

我想要做的是按包級別清理包中的代碼,只做真正需要在每個包外部可見的東西public,因爲這應該簡化我想要執行的其他重構。

我想知道是否有一個工具可以幫助我。理想情況下,它將分析所有代碼並生成一份報告,說明哪些類和方法具有公共訪問權限,但只能從同一個包中調用。

查找用法 Netbeans中的選項可以幫助我完成這個任務,但是對於每個類和方法手動運行並逐行分析輸出將會一直持續下去。

+0

你會支付這樣的工具嗎? – zvikico 2009-05-27 10:11:07

+0

@zvikico我可能會支付工具,但理想情況下它是免費的。如果它是30美元我可能可以得到它爲我購買,如果它可能不是3000美元。 – 2009-05-27 10:16:54

+0

僅僅因爲它可以有不同的訪問修飾符並不意味着它應該。這真的值得做嗎? – willcodejavaforfood 2009-05-29 08:45:27

回答

3

我已經使用ProGuard這是字節碼操作工具來查找過去的死代碼。 ProGuard manual中有一個關於如何使用它的例子。請注意,該工具還做了很多其他的工作,它並不是一個典型的應用,但是我知道的唯一的事情就是可以掃描整個應用程序中的死代碼。

編輯:所以我誤解了這個問題。也許UCDetector是你想要的。它聲稱能夠檢測到代碼的可見性可以改變爲受保護的,默認的或私有的,但它與Eclipse綁定,我只是在我的代碼基礎上嘗試過UCDetector,它似乎可以完成這項工作。類,可以有自己的知名度降低。

0

netbeans SQE plugin可能會有所幫助。

它將FindBugs,PMD,CheckStyle和Lint4j集成到netbeans中。這應該提供警告,公共方法可以被封裝爲私有的等等。

1

便宜的(和相當可能比安裝一個單通道的工具更快)是搜索和替換public classclass,類似的還有abstractfinalinterface。重新編譯。解決什麼休息直到它編譯。

相關問題