欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java检测无用代码之UCDetector

程序员文章站 2022-05-01 14:04:19
...
如果你的项目代码量很大,或者维护了好多年,就必然会存在很多无用代码,维护这些代码会带来很大的成本开支,有时候需要清理这些无用代码,可以通过代码覆盖率工具来检测,但是这样也会很费事。UCDetector : Unnecessary Code Detector,一个检测无用的public代码(类、方法,属性等)的eclipse插件。

http://www.ucdetector.org/

Eclipse update site:
http://ucdetector.sourceforge.net/update

(1)eclipse已经提示了一些无用代码
编译器提示:
Preferences > Java > Compiler > Errors/Warning :Unnecessary code
  • Value of local variable is not used
  • Value of parameter is not used(默认Ignore)
  • Unused type parameter(默认Ignore)
  • Unused import
  • Unused private member
  • Unnecessary 'else' statement(默认Ignore)
  • Unnecessary cast or 'instanceof' operation(默认Ignore)
  • Unnecessary declaration of thrown exception(默认Ignore)
  • Unused 'break' or 'continue' label
  • Redundant super interface(默认Ignore)

代码辅助提示:
Preferences > Java > Code Style > Clean Up  :Unnecessary Code
  • Unused code
  •   Remove unused imports
  •   Remove unused private memebers(默认未选中)
  •   Remove unused local variables(默认未选中)
  • Unnecessary Code
  •   Remove unnecessary casts
  •   Remove unnecessary '$NON-NLS$' tags


看开源代码的时候经常会看到类似//$NON-NLS-1$、//$NON-NLS-2$......//$NON-NLS-n$等这样的注释。意思当前行的第n个字符串不需要外置做国际化,其中NLS代表"National Language Support"。eclipse有一个resources creator tool,能够将代码中的字符串,自动提取到.properties中去。在java代码中点击右键,Source > Externalize Strings。

(2)使用UCDetector
使用方法很简单,无论是整个项目,或者某个Java文件都可以右键选择“UCDetector/detect unnecessary code”来检测,检测后的结果显示在Problems视图里(选Group By Type)。
Java检测无用代码之UCDetector
            
    
    博客分类: Java  

Java检测无用代码之UCDetector
            
    
    博客分类: Java  

Java检测无用代码之UCDetector
            
    
    博客分类: Java  

Java检测无用代码之UCDetector
            
    
    博客分类: Java  

工具再智能也只是帮助你检测出来那些没有被引用的代码,但是是否真的这些代码无用,还需要按照实际情况确认。比如,虽然没有直接调用的但却只用于反射的、类似于Spring的外部依赖注入的、提供给第三方的API、其他Jar中调用的,.....等等。

如果想让UCDetector忽略某写代码的无用提示的话,可以在行尾添加// NO_UCD,或者使用@SuppressWarnings("ucd")。
  • Java检测无用代码之UCDetector
            
    
    博客分类: Java  
  • 大小: 6.6 KB
  • Java检测无用代码之UCDetector
            
    
    博客分类: Java  
  • 大小: 20.8 KB
  • Java检测无用代码之UCDetector
            
    
    博客分类: Java  
  • 大小: 13.1 KB
  • Java检测无用代码之UCDetector
            
    
    博客分类: Java  
  • 大小: 15.1 KB