`

使用 Eclipse自动清理代码

阅读更多

    干净、易于阅读的代码可以使不熟悉程序的开发人员快速完整地理解程序,从而使软件维护比其他方法更加有效。

 

    编写干净代码有助于其他开发人员阅读、理解和维护您编写的代码。但是,并不是所有人都赞成 “漂亮”、“精密” 或 “干净” 等定义。不同的开发人员拥有不同的风格和审美鉴赏力。到现在为止,Eclipse 通过少量修饰以一种简单的功能方式设定了导入代码的格式。Eclipse V3.3 中对这些操作进行了扩展,从而提供了更宽泛的清理功能级别。Eclipse V3.3 允许您清除代码、添加缺少的代码并应用某种编码样式。向导将帮助您配置清理设置并将其存储起来以供稍后使用。

 

    下面将讨论清理的基本概念并提供有助于保持代码干净的工具的概览。

 

用配置文件管理清理配置

 

    某个具体的清理配置被称为一个 配置文件。配置文件可以保存,这样您就可以将设置提供给其他人或把来自早期项目和其他人的设置应用到当前代码中。根据组织的编码约定,配置文件可以应用于 所有的 Eclipse 项目,这样便可以在所有开发团队中获得相同的代码样式。
    Eclipse 首选项为配置文件提供了管理功能。配置文件可被创建、编辑和删除。您可以指定在工作区中全局使用的配置文件。当您第一次打开工作区首选项并浏览到 Java > Code Style > Clean Up 时,您将看到活动配置文件 Eclipse [built-in]。此内置配置文件已经过预先配置并且是随 Eclipse 一起交付的。内置配置文件有两个:Eclipse 和 Save Participant。这两个配置文件定义了两个最小限度的清理配置,可基本上删除不必要代码。您可以通过将它们设为活动配置文件来查看这些内置配置文 件的设置。所有详细信息如详细信息区域所示。

 

     图 1. 内置的详细信息


    现有配置文件可作为各类模板使用,并且可以扩展和定制这些模板。因此,从下拉式菜单中选择现有配置文件作为活动配置文件并单击 edit。内置配置文件不能更改。可以使用内置配置文件作为您自己的配置文件的基础或简单地将内置配置文件按原样应用到代码中。
    要创建您自己的配置文件,请单击 New。为配置文件命名并从下拉式菜单中选择现有配置文件进行初始化。取消选中 Open the edit dialog now 并单击 OK

 

图 2. 新建配置文件

 

    要共享配置文件,请使用导出功能。要打开配置文件,请单击 Edit,然后单击 Export。为配置文件命名,然后单击 OK,接下来就可以共享配置文件了。

 

    图 3. 导出配置文件
 

 

要将 XML 文件中的外部配置应用到项目中,必须先将其导入。在主清理首选项中单击 Import,选择文件,然后单击 OK.

 

 

清理类型

 

    清理设置分为五个主要类别。每个类别都显示在相应选项卡中,选项卡由设置部分和预览部分构成。预览用于立即显示设置对代码的影响。尝试使用这些设置并观察预览中的代码发生怎样的变化,以了解每种更改将怎样影响您的代码。当您在主清理首选项中单击 Edit,或在创建新配置文件时选择 Open the edit dialog now,将弹出编辑所有这些设置的对话框。
下面将讨论可用的设置及其优缺点。由于许多设置可以风格各异,因此将不提供任何推荐。注意,如果不选择具体选项,您的代码将保持键入时的样子。


一、Code Style
第一个选项卡用于处理编码样式并定义应当如何显示块、表达式和变量声明。

 

1、Control statements
选择 Use blocks in if, while, for, and do statements 可定义使用大括号的位置。大括号有助于提高代码可读性。使用大括号时更易于看出哪些内容属于同一个单元。在添加属于 if 或 else 条件的另一条语句时,还可以帮助避免错误。另一方面,大括号太多会使代码变得臃肿并可能使代码难于处理。

选择 Convert for loops to enhanced 将使用 for 循环符号,这是由 Java™ V5.0 引入的,用于减少代码。注意,此转换不具有向后兼容性。

 

2、Expressions
选择 Use parentheses around conditions 可定义使用圆括号的位置。对于圆括号,请参阅以上关于大括号的讨论。


3、Variable declarations
选择 Use modifier 'final' where possible 可定义使用 final 关键字的位置。final 修饰符不但可用于声明不能更改的变量,而且还是强制永远设定私有字段的优秀选择。final 修饰符对于性能、健壮性和正确性至关重要。

 

 

二、Member Accesses
第二个选项卡允许您定义应当怎样访问类型成员。


1、Non static accesses
需要使用 this 限定词访问字段或方法时选中该选项。this 限定词帮助您快速查看哪些字段或方法是正在编写的当前类的成员。它可以帮助您区分使用同一名称的字段和局部变量。


2、Static accesses
使用复选框来定义限定设置。可以通过声明类限定静态成员访问以更好地识别定义该成员的类型。另一方面,长类名可能使简单的成员访问变得臃肿并且使成员访问看上去不具有可读性或跨度多行代码。

 

 

三、Unnecessary Code
第三个选项卡允许您为删除未使用的代码和多余代码指定设置。


1、Unused code
使用第一个复选框可以删除未使用的导入。如果不使用 Organize imports 或 Strg+Shift+o 组合键,则这样自动删除不使用的导入将帮助您使项目保持尽可能地小且没有任何未使用的库。

使用第二个复选框可以删除未使用的私有成员。私有成员只能在保存类中访问。如果不使用私有成员,则不需要它们。私有成员只会增加编译器的开销。重构代码后如果拥有大量未使用的遗留代码,则删除会十分高效。另一方面,这样做会十分危险。假定您在设计尚未使用但可能在将来使用的新方法的原型。此清理选项如果处于激活状态将删除这些方法,并且可能会错过重要的工作。


2、Unnecessary code
使用第一个复选框来删除多余代码。多余代码的存在会导致运行时的额外开销,这取决于您使用的编译器。

使用第二个复选框可以去掉多余的 $NON-NLS$ 标记。这些标记仅由 Eclipse 使用来识别不应当具体化的字符串。

 

四、Missing Code
第四个选项卡允许您添加缺少代码。


1、Annotations
定义要将哪些注释添加到代码中。因为当使用不赞成使用的方法或者覆盖已标记方法未能正确覆盖某一个超类中的方法时,Java V5.0 @Override 或 @Deprecated 注释将帮助编译器生成错误。注意,这些注释不具有向后兼容性。


2、Potential programming problems
如果需要添加序列版本 ID,则定义此设置。对于实现 Serializable 接口的类,建议这些类使用私有静态 final 变量定义一个序列版本 UID。此变量可以自动生成。它用于在反序列化过程中检查兼容性。

 

 

五、Code Organizing
第五个选项卡虽然位于最后但不可忽略其重要性,它用于帮助您组织代码。


1、Formatter
定义在代码清理内是否应当使用格式程序。查阅格式程序首选项:Preferences > Java > Code Style > Formatter。


2、Imports
定义是否应当使用 Organize Imports。查阅组织导入首选项:Preferences > Java > Code Style > Organize Imports。


3、Members
定义是否需要按字母序把成员分类。有时,将成员按字母序分类非常好可以更好地浏览代码。不过,也可能有人会反对这样做。假定您将组织您的代码,使彼此调用的方法靠近放置在一起以便于进行代码浏览。排序可能会重新组织这些方法,并且它们可能不是所需的顺序。概览视图提供了一项优秀的功能用于给视图中的成员排序,但是不能给代码中的成员排序。具体配置和给成员排序的方法可以在 Preferences > Java > Appearance > Members Sort Order 中找到。

 

 

如何应用配置文件


    在创建了清理配置文件后,可以通过多种方法将其应用到代码中。最简单的方法是在 Java 编辑器中打开上下文菜单并选择 Source > Clean Up。


    要预览清理结果,请在清理向导中单击 Next。这时向导将计算代码更改数目。根据选定的编译单元数目,完成此过程可能需要花费一段时间。在下一个页面中,将为您呈现将要应用的更改。

 

更BT的应用-保存代码时应用

 

    清理操作不但可以手动执行,而且还可以在执行 Java 文件的保存操作期间执行。要启用此功能,请转到 Window > Preferences > Java > Editor > Save Actions 并选择附加操作。请按前述配置清理操作,然后就会在每次保存 Java 文件时都执行这些清理操作。请注意,执行那些操作有时会加大开销并且降低工作台的速度。同时,如果没有想到清理操作,您可能会在保存刚刚编写的代码后觉得很困惑为什么代码不太一样。

 

 

  • 大小: 34.9 KB
  • 大小: 8.6 KB
  • 大小: 34 KB
分享到:
评论
2 楼 jacking124 2014-05-30  
有没有用自动删除无用的import的导入
1 楼 mousepc 2012-06-18  
不错,之前只是一行一行删那些unused import代码。这个很方便。今天才知道。

相关推荐

    解决Eclipse3.6中Android代码自动补全卡死

    4. **测试修复效果**:启动Eclipse后,打开Android项目并尝试使用代码补全功能,看是否还存在卡死现象。如果问题已解决,那么问题就出在JDT核心组件上;如果问题依旧,可能需要进一步检查其他可能的原因,如ADT插件...

    解决Eclipse自动补全卡死的问题内附说明[【完整版】

    本文将深入探讨如何解决Eclipse自动补全卡死的问题,帮助开发者恢复流畅的编码工作。 Eclipse是一款广泛应用的开源Java IDE,其强大的插件系统支持多种编程语言。自动补全功能是Eclipse的一大亮点,它能够提供代码...

    eclipse格式化代码配置文件.zip

    Eclipse是一款广泛使用的Java集成开发环境(IDE),它提供了丰富的功能,包括代码编辑、调试、构建和重构等。在编写代码的过程中,保持代码风格的一致性对于团队协作至关重要。"eclipse格式化代码配置文件.zip"就是...

    eclipse优秀代码风格

    5. **应用到整个项目**:为了使整个项目统一代码风格,可以使用“Source”菜单下的“Clean Up”功能,选择合适的清理规则,对项目进行格式化。 6. **团队协作**:如果是在团队环境中,可以将代码风格配置文件加入...

    Eclipse代码格式配置规范

    Eclipse的“代码清理”功能可以帮助检查并修复代码中的常见问题,如未使用的变量、未导入的类等。可以创建自定义的清理配置,以满足特定的编码标准。 五、个性化设置 除了上述通用配置,还可以针对每个项目设置...

    eclipse无法自动编译解决方法

    然而,在使用过程中可能会遇到一个常见问题:Eclipse无法自动编译。本文将详细介绍几种解决Eclipse无法自动编译的方法。 #### 一、检查项目设置 **1. 开启自动编译** - 在Eclipse中,选择`Project -> Build ...

    解决Eclipse保存代码时building workspace因前台代码验证导致的速度慢或卡死问题

    这种现象主要是由于Eclipse在保存代码时会自动进行workspace构建(building workspace),而这一过程中的前台代码验证环节尤其耗时。 #### 问题分析 在Eclipse中,为了确保代码质量,IDE会进行一系列的检查,包括...

    Eclipse的HTML格式化插件 Eclipse Tidy

    Eclipse Tidy基于开源项目Tidy,这是一个历史悠久的HTML清理和修复工具,能够将不规范的HTML代码转换为符合W3C标准的结构化文档。 使用Eclipse Tidy插件,开发者可以享受到以下主要功能: 1. **代码格式化**:此...

    使用 Eclipse V3.3 保持代码干净.doc

    ### 使用Eclipse V3.3保持代码整洁与可读性的深入探讨 #### 一、引言 在软件开发过程中,代码的整洁度和可读性至关重要。这不仅关系到代码的质量,也直接影响到后续的维护成本。随着Eclipse V3.3的发布,该版本在...

    安卓清理eclipse无用资源

    "安卓清理eclipse无用资源"的主题旨在帮助开发者高效地清理adt(Android Development Toolkit)目录下不再使用的代码和资源,从而减小工程的体积,提高项目的运行效率。这不仅有助于节省存储空间,还能减少编译时间...

    Eclipse无法自动编译出class文件.jpg

    在使用Eclipse这一强大的Java开发工具时,可能会遇到一些问题,比如标题中提到的"Eclipse无法自动编译出class文件"。这个问题对于开发者来说是非常困扰的,因为这直接影响到代码的实时测试和调试。让我们深入探讨...

    eclipse ALT+ /自动提示 失效解决方法

    ### Eclipse ALT+/ 自动提示失效解决方法 在开发过程中,Eclipse 的自动提示功能是非常实用的一个工具,能够显著提高编程效率。但是有时候我们会遇到 ALT+/ 快捷键对应的自动提示功能突然失效的情况,这可能会对...

    Eclipse使用技巧 Eclipse使用

    4. **代码自动完成**:Eclipse的代码补全功能非常强大。只需输入几个字符,然后按`Ctrl+Space`,即可看到匹配的代码提示。对于Java,还有智能感知类型、方法和变量,以及导入类的自动完成。 5. **重构**:Eclipse...

    使用Eclipse构建Maven的Web项目

    - M2E插件允许Eclipse自动下载和管理项目依赖,通过"Maven" -> "Lifecycle"菜单,可以执行各种Maven生命周期阶段,如编译、测试、打包等。 - Eclipse还可以集成Maven的生命周期事件,例如在保存源代码后自动编译。...

    Eclipse Android代码助手缓慢的补丁

    总的来说,"Eclipse Android代码助手缓慢的补丁"是为了解决开发者在使用Eclipse进行Android开发时遇到的性能瓶颈问题,通过一系列优化手段提高代码提示的速度,从而提升开发效率。然而,随着技术的发展,开发者可能...

    eclipse farmatter save action auto import

    "Save Action"则是Eclipse的一项设置,允许在保存文件时自动执行特定操作,如格式化代码、删除未使用的导入(Cleanup)或添加缺少的导入(Auto Import)。 "Auto Import"是Eclipse的另一个重要特性,它能自动将所需...

    eclipse完整编译NDK_sample代码

    - **构建选项**:选择Builder在自动构建和清理时运行,确保在代码更改或项目清理后自动编译C/C++代码。 通过以上步骤,开发者可以在Eclipse环境中使用NDK进行C/C++代码的开发和编译,同时享受到IDE带来的便利性。...

    java源码:Eclipse的HTML格式化插件 Eclipse Tidy.zip

    源代码的使用意味着用户可以查看、学习和自定义插件的内部工作原理,甚至可以根据自己的需求进行修改和扩展。Eclipse Tidy的源码分析有助于理解如何在Eclipse插件开发中实现与外部工具的集成,以及如何处理HTML文档...

    一键清理Eclipse版.rar

    1. 自动化清理:开发者可能会编写一个脚本或插件,通过执行特定的Eclipse API来自动化清理过程,省去了手动操作的步骤。这可能包括调用`Project -> Clean`菜单项,或者通过命令行接口(如`eclipse.exe -clean`)来...

Global site tag (gtag.js) - Google Analytics