[英]Is there a tool for analysing the Access Level of Java classes and methods?
在我們應用程序的Java代碼中,我很確定有很多類和方法具有public
訪問權限,但可能只需要包級別的訪問權限。
我想做的是按包級別整理我們的代碼,僅將真正需要在每個包外部可見的內容public
因為這樣可以簡化我想做的其他重構。
我想知道是否有可用的工具可以幫助我解決這個問題。 理想情況下,它將分析所有代碼並生成報告,說明哪些類和方法具有公共訪問權限,但只能從同一包中調用。
Netbeans中的“ 查找用法”選項可以幫助我解決這個問題,但是對於每個類和方法,都需要手動運行它並逐行分析輸出,這將是永遠的。
我曾經使用過ProGuard (這是字節碼操作工具)來查找無效代碼。 ProGuard手冊中有一個有關如何使用它的示例。 請注意,該工具還具有很多其他功能,並且它並不是通常的用法,但這是我所知道的唯一可以掃描整個應用程序以查找無效代碼的工具。
編輯:所以我讀錯了問題。 也許UCDetector是您想要的。 它聲稱能夠檢測“可以將可見性更改為受保護的,默認的或私有的代碼。盡管它與Eclipse綁定。但是我只是在我的代碼庫上嘗試了UCDetector,它似乎可以完成工作。當然可以檢測到一些方法和可能會降低其可見性的課程。
便宜的(和相當可能更快,比安裝一個單通道的工具)是搜索和替換public class
到class
,類似的還有abstract
, final
和interface
。 重新編譯。 修復損壞的部分,直到可以編譯為止。
netbeans SQE插件可能會有所幫助。
它將FindBugs,PMD,CheckStyle和Lint4j集成到netbeans中。 這應該提供警告,指出可以將公共方法設置為私有包等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.