代码之家  ›  专栏  ›  技术社区  ›  David Webb

是否有一个工具可以分析Java类和方法的访问级别?

  •  0
  • David Webb  · 技术社区  · 17 年前

    在我们应用程序的Java代码中,我非常确定有很多类和方法 public 但可能只需要包级访问。

    我想做的是在一个包一个包的级别上整理我们的代码,只让真正需要在每个包外可见的东西 因为这会简化我想做的其他重构。

    我想知道是否有一个工具可以帮助我解决这个问题。理想情况下,它将分析所有代码并生成一个报告,说明哪些类和方法具有公共访问权限,但只从同一个包中调用。

    这个 查找用法 Netbeans中的选项可以帮助我实现这一点,但是为每个类和方法手动运行它并逐行分析输出将花费很长时间。

    3 回复  |  直到 17 年前
        1
  •  3
  •   deverton    17 年前

    我用过 ProGuard ProGuard manual 关于如何使用它。请注意,这个工具还可以做很多其他的事情,它并不是它的典型用途,但它是我所知道的唯一可以扫描整个应用程序的死代码的东西。

    编辑:所以我误读了这个问题。可能 UCDetector 这就是你想要的。它声称能够检测“可见性可以更改为受保护、默认或私有的代码。但它与Eclipse有关。我刚刚在代码库上尝试了UCDetector,它似乎可以完成这项工作。当然,它检测到了一些可能降低可见性的方法和类。

        2
  •  1
  •   Tom Hawtin - tackline    17 年前

    搜索和替换是一种便宜的方法(而且可能比为一次通过安装一个工具要快) public class class 同样的 abstract , final interface . 重新编译。在编译之前修复中断的内容。

        3
  •  0
  •   Alistair Sutherland    17 年前

    netbeans SQE plugin 也许会有帮助。