`
rensanning
  • 浏览: 3548162 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38136
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607282
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682285
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89330
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401828
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69687
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91697
社区版块
存档分类
最新评论

Java检测无用代码之UCDetector

    博客分类:
  • Java
 
阅读更多
如果你的项目代码量很大,或者维护了好多年,就必然会存在很多无用代码,维护这些代码会带来很大的成本开支,有时候需要清理这些无用代码,可以通过代码覆盖率工具来检测,但是这样也会很费事。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)。








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

如果想让UCDetector忽略某写代码的无用提示的话,可以在行尾添加// NO_UCD,或者使用@SuppressWarnings("ucd")。
  • 大小: 6.6 KB
  • 大小: 20.8 KB
  • 大小: 13.1 KB
  • 大小: 15.1 KB
分享到:
评论
2 楼 武林第一帅哥 2014-11-18  
不知道他们判断无用代码的依据是什么
1 楼 jackyrong 2014-03-22  
不知道sonarqube有没有这样的功能

相关推荐

    ucdetector无用代码检测工具

    **ucdetector无用代码检测工具** 是一个专为开发者设计的Eclipse插件,用于帮助程序员识别并清除项目中的无用代码,提升代码质量和维护性。这个插件能够检测出那些未被其他方法调用的方法或者未在任何地方被引用的...

    iOSAPP分析无用代码

    "iOS APP分析无用代码"这个主题聚焦于如何在源代码级别利用Clang工具来识别和删除应用程序中的冗余和未使用的代码,以提高程序效率。Clang是一个强大的C、C++、Objective-C和Objective-C++的前端,它提供了丰富的源...

    查找Xcode无用代码

    总结来说,查找Xcode无用代码是一个多步骤的过程,涉及了Xcode的内置工具、静态分析器、代码覆盖率工具、内存检测工具以及第三方的代码分析软件。通过综合运用这些工具和策略,开发者可以有效地维护项目的整洁性和...

    ucdetector

    综上所述,ucdetector是Eclipse用户提升Java项目代码质量的重要辅助工具,通过检测并消除无用代码,它有助于保持代码库的健康,增强软件的稳定性和可维护性。如果你是一名Java开发者,那么ucdetector无疑是你不可或...

    java代码静态检测规则

    ### Java代码静态检测规则概述 Java作为一种广泛应用的编程语言,在软件开发过程中,为了确保代码的质量、可维护性和安全性,采用代码静态检测工具是至关重要的。本文将详细介绍一系列针对Java代码的静态检测规则,...

    UCDetector1.9.0插件和原码

    UCDetector是一款强大的无用代码检测工具,主要用于帮助开发者识别并消除软件项目中的死代码、未使用的类、方法和变量等,从而提升代码质量和维护性。这个压缩包包含了UCDetector的1.9.0版本,包括插件和源码两个...

    JAVA编译器原代码

    Java编译器是将源代码(.java文件)转换为字节码(.class文件)的工具,使得Java程序可以在任何支持Java虚拟机(JVM)的平台上运行。本资源包含了一个简单的Java编译器的原始代码,对于理解Java语言的编译过程以及...

    java代码质量控制

    Java代码质量控制是软件开发过程中不可或缺的一环,它关乎到代码的可读性、可维护性、性能以及潜在的bug预防。本篇将详细介绍几种常用的代码质量控制工具,包括它们的功能、用途以及如何使用。 首先,我们需要理解...

    java 混淆、加密js代码

    Java混淆和加密JavaScript代码是保护Web应用程序源代码安全的重要手段,尤其是在公开发布或者与第三方共享时,能够防止恶意用户分析和篡改代码。本压缩包包含的资源专注于这个主题,让我们详细了解一下相关知识点。 ...

    helium-检测网页中无用的css

    Helium是一款用于检测网页中无用CSS的工具,它的主要目标是帮助开发者优化网页性能,减少不必要的CSS代码,提升页面加载速度。通过精准地识别出未被使用的样式,Helium可以帮助我们精简样式表,降低网页的体积,从而...

    Java内存泄露检测

    Java内存泄露检测是Java开发中一个关键的议题,因为它直接影响到程序的稳定性和资源效率。内存泄露是指程序中已分配的内存无法被正确地释放,从而导致系统资源的浪费和可能导致程序性能下降甚至崩溃。 首先,理解...

    让那些无用代码注释见鬼去

    摘要——注释简单代码会干扰对重要注释的理解。程序开发者最好能用最精要的注释来解释重点代码。 举个例子,你打开一个电箱,里面有几百根电线,蒙了吧。再一看,每根电线上面都有一个整洁的小标签。真是谢天谢地啊...

    Allatori java 代码混淆

    Java代码混淆是一种安全措施,主要用于保护Java应用程序的源代码不被未经授权的人员逆向工程解析。Allatori就是一款专门用于Java代码混淆的工具,它能够将可读性强的Java字节码转换为难以理解的形式,以此增加逆向...

    检测项目中无用的图片

    "检测项目中无用的图片"这个话题直指一个常见的问题:如何有效地管理应用资源,特别是图片资源,以达到“项目瘦身”的目标。这不仅有助于提高应用的加载速度,减少存储占用,还能优化用户下载和使用体验。以下是一些...

    java混淆代码的使用

    在Java开发中,为了保护应用程序的源代码不被轻易反编译和理解,开发者常常会使用混淆工具对代码进行处理,使得代码变得难以阅读。本文将深入探讨Java混淆代码的使用,包括其目的、原理以及如何操作。 混淆...

    Android安卓安全加固反调试检测手段(java层+native层)(附代码实现).pdf

    通过代码混淆、检测调试器连接、进程名检测、ptrace检测和轮询检测法等多种方式,可以增加攻击者逆向工程的难度,从而提高应用的安全性。对于希望深入了解Android安全加固的人来说,这些知识点是非常有价值的。

    yGuard---java代码混淆工具

    yGuard是一款专业的Java代码混淆工具,它主要用于保护Java应用程序,防止恶意用户逆向工程分析代码,从而保护知识产权和商业机密。代码混淆是通过改变源代码中的类名、方法名、变量名,甚至修改字节码,使得原始代码...

    Java工具_源代码抽取_java-source-code-extract202103.rar

    标签“Java Java开发工具 源代码提取 删除无用的代码”进一步明确了这个工具的功能范围。它是一个Java语言的开发工具,专注于源代码的提取和清理,特别适合那些需要优化代码结构和清理代码的项目。 压缩包中的文件...

    开发Java论坛代码

    【开发Java论坛代码】是一个基于Java编程语言的项目,它涉及到构建一个功能完善的在线讨论平台。这个系统的核心目标是提供一个交互性强、易管理的环境,使得用户可以进行高效的交流和信息分享。以下是对该系统各个...

    ProGuard工具包,Java代码混淆

    2. **优化**:在预处理之后,ProGuard对字节码进行优化,例如删除无用的代码、合并相似的类和方法等,以减小代码体积并提高运行效率。 3. **混淆**:这是ProGuard的核心功能,它将类、方法和字段的名字替换为简短且...

Global site tag (gtag.js) - Google Analytics