【问题标题】:Is there a tool in eclipse, a plugin for eclipse, or an external program that can automatically limit access modifiers?eclipse中是否有工具,eclipse的插件,或者可以自动限制访问修饰符的外部程序?
【发布时间】:2013-05-24 20:41:13
【问题描述】:

我过去在限制对我的variables/methods/classes 的访问方面非常糟糕,当我不应该使用 public 时,我倾向于使用很多。

我只是想知道是否有任何工具 - 插件,外部或其他 - 可以搜索您的源代码,找到调用您的 variables/methods/classes 并更改可见性(如果它太高)。

例如,如果我有一个公共变量并且在该类之外没有调用它,那么该工具将减少它对私有的访问。

主要是我的一些旧项目需要这个,这些项目有很多公共变量。我需要很长时间才能筛选所有这些项目,并且当我回到这些项目再次处理它们时,将它们公开会非常烦人/效率低下。

【问题讨论】:

  • 如果您未指定修饰符以获取默认值,那么可能是这样,因为您已经被塞满了。话虽如此,根据最新理论,私有方法等应该作为公共委托给另一个类,然后再使用。因此,您可能从错误的一端攻击问题。这不会减少工作量,但您会从清理工作中获得更多收益,尤其是更好的甚至是一些单元测试。

标签: java eclipse access-modifiers


【解决方案1】:

有许多代码质量工具旨在获取此类过于广泛的访问权限:Sonar、PMD、FindBugs...但是,它们不会为您修改原始源。重点应该是改善你的习惯,并使用工具提醒你错误地步履蹒跚的地方,而不是使用一些插件作为坏习惯的拐杖。

【讨论】:

    【解决方案2】:

    看看UCDetector: Unnecessary Code Detector Eclipse 插件。它将为以下问题(出现在 Eclipse 问题视图中)创建标记:

    • 不必要的(死)代码
    • 可以将可见性更改为受保护、默认或 私密
    • 字段方法,可以是最终的

    它还支持 Eclipse QuickFixes 以自动调整成员可见性

    【讨论】:

      【解决方案3】:

      我从未听说过或读过类似您所要求的内容,但也许 PMD 可以帮助您:它不会解决您的问题,但会指出问题所在。下次对所有属性使用 private 并创建 getter 和 setter(在 eclipse 中,按 Atl+Shift+R 然后按 's' 自动执行)

      【讨论】:

        猜你喜欢
        • 2016-06-08
        • 2012-01-28
        • 1970-01-01
        • 2011-12-30
        • 2016-07-26
        • 2011-04-21
        • 1970-01-01
        • 2016-03-12
        • 1970-01-01
        相关资源
        最近更新 更多