elicpse中的source和refactor的用法简介

+source
- Format: 这个操作项是我一直推荐的, 非常方便, 比如你写了段格式很烂的代码, 乱七八糟的, 那你就选择这项,你会发觉, 哇~~, 我的代码怎么一下子变漂亮了, 不信你可以试试, 快捷键是"Ctrl+Shift+F", 所以我现在都养成习惯了,写一会儿代码,就c+s+f一下, 呵呵,很方便的.

- Sort Member: 这个不是很常用,但是如果你觉得代码太长,老是找不到函数,,也可以试试. 他会帮你把你写的函数,变量重新排序

- Organize Import: 这个功能也是一个不用不爽的功能, 比如你编一个项目,发现有很多import都没有用到,或者说你引用了一个类,但是你没有import,结果编译不通过, 那都没关系, 一用这个,所有的问题迎刃而解. 至少我用这个之后, 就从来没有写过import这类语句了. 快捷键是"Ctrl+Shift+O(是字母O,不是数字0)", 我经常把这个和c+s+f一起用, 呵呵,人也变懒了不少

- Override/Implement Method: 这个比如你写一个类, 实现了某一个接口,但是你还没有实现那个接口的函数, 那就用这个,它会自动搜索父类和接口的方法,你可以选择要覆盖还是实现哪些函数

- Generate Delegating Method: 如果某一个field要生成代理函数,用这个把,选一下就ok

- Add Javadoc Comment: 点中某一个你想要加javadoc的函数或类或变量,然后选这项,它会自动帮你加好javadoc的头,包括你用的那些param或return

- surround with try/catch block: 比如你有一段代码要处理某些exception,可你又忘了用try/catch来写,别急,选中那段代码,然后选这项,你会发觉它会自动针测你这段代码里要抛出哪些exception,并且自动生成好所有代码

- externalize string: 这个是在做国际化的时候用的,简单的说,就是把string包在resource bundle里, 这也是i18n的一个解决方案,我想我以后会详细介绍这方面的东西.



打开菜单
+ Refactor
- Rename: 如果你写了一个类,你发觉这个类某个类变量的名字起的不太好听, 你觉得不爽, 于是你就想改名字, 那怎么改呢, 就把那个变量名改了? 呵呵,没那么简单,因为你这个变量如果已经在某些函数里引用到,那编译要出错了, 而且你根本就不知道你哪里引用了, 写了那么多代码,脑子都晕了, 那不是死菜了吗? 别紧张, 用这个rename可以帮你解决一切问题, 它不仅可以帮你把变量的名字改了,而且它还会自动搜寻所有这个变量被引用到的地方,然后把那些地方也一起改了, 爽不爽啊, 给你省了很大的劳动力不是.

- Move: 同样, 要移动一个实现了的静态函数或变量到别的类的话,用这个移动, 保证不出错

- Modify Method Signature: 你设计函数不可能一下子就定型的,比如你一开始这个函数有一个参数,后来发觉不对,要用两个, 那你就要用这个来改, 这样它还会搜寻所有已经引用这个函数的地方, 并且把这些应用的地方也改掉,否则编译也
要出错的

- Extract Interface: 它可以帮你把一个类抽象成一个接口, 规范你的代码

- Extract Method: 如果你写了一段很长的函数, 但是这个函数有些代码有重复利用性, 你就可以把给分割出来, 选中那段代码,然后选这项,系统会问你抽出来的函数的定义, 然后它就会生成这段函数,把实现从原来函数那里抽出来,并在原来函数那里写一个对这个新函数的引用,以保证程序不变性.

- Extract Local Variable: 如果你发觉你函数里有些值都是通过一样的表达式得到的,你就可以通过这项把这段表达式变成一个变量,并且把这个变量替换到引用到表达式的地方

- Extract Constant: 抽取常量, 比如一个string= "eclipse", 你觉得很多地方要用到, 那就抽出来变成一个常量ECLIPSE, 就这么简单

- convert local variable to field : 这个看名字就知道, 不多说了

- encapsulate field: 这个和生成getter,setter有点类似, 但是不同的在于,如果你有一个public的常量 var,并且已经在别处引用到了, 那你用生成getter,setter肯定有问题, 因为引用的地方没改过来, 用这个的话,不仅会生成getter,
setter,而且还会改掉所有引用的地方, 比如把var = ...;的地方改成setvar(...), 把 ... = var地方改成 ... = getvar();

猜你喜欢

转载自blog.csdn.net/banbanbanzhuan/article/details/78430852