我们的Java应用程序在阴影字段中存在这个问题(子类在许多类中声明与超类相同的字段名称)。如果任何类具有阴影字段,则应用程序将无法正常使用我们的新增强功能。
是否有任何工具可以快速扫描那些?
由于
我查看了eclipse下的PMD和选项,但他们并没有真正帮助。我不认为PMD有跨越课程的能力吗?或者我错了吗?
答案 0 :(得分:3)
您可以为pmd编写自定义规则。我认为任何默认规则都不包含您想要做的事情。
答案 1 :(得分:3)
Eclipse有一个通常关闭以检查此问题的选项。转到窗口>首选项,导航到Java>编译器>错误/警告,然后展开“命名阴影和冲突”。有几种选择可以提供帮助。
我不确定Netbeans是否有类似的设置,但我想它确实如此。
答案 2 :(得分:1)
那么你可以简单地编写一个小应用程序来读取所有java类并搜索继承树,然后查看是否存在具有这些阴影字段的子类。
你甚至可以让应用程序重命名阴影字段,如果你想要更加花哨(不太花哨)。如果您选择尝试以编程方式重命名它们,那么您必须在应用程序中找到所有引用并更新它们。
我不知道有什么工具可以做到这一点,但是一个好的谷歌搜索可能会为你做到这一点= P
同时检查您的IDE以确定它是否具有您所使用的功能。