使用NetBeans提高Java生产效率
2011-09-27 23:53
411 查看
NetBeans 6.0 提高生产力之 Java代码编辑器
有些代码或者关键字经常使用,如果每次需要时我们都要一个一个字母输入,那么效率是很低下的。Netbeans提供了方便的代码模板功能,我们可以添加自己的模板。当然 Netbeans默然提供了一些常用的模板,你只要输入代码的 缩写形式 +
Tab键就可以生成相应的代码
如:
只要输入 sout + Tab键就可以生成 System.out.println(“”)了。
下面给出常用几个缩写形式:
Psf -----------public static final
br ------------break
fi -------------final
im ------------implements
ir --------------import
le--------------length
re-------------- return
sout-----------System.out.println ("|");
st --------------static
查看更多的默认代码模板,请择菜单栏的 帮助( help) ->快捷键列表( keyboard shortcuts Card )
当然也可以添加自己的模板, 从主菜单中选择Tools > Options 选择Editor
可以修改或添加代码模板,不止是 Java语言哦。
《代码大全》里第十一章 变量名的力量 里说道变量名的作用非常重要。为变量命名时最重要的考虑事项是,该名字要完全,准确地描述出该变量所代表的事物。
上面的建议非常重要,好的变量名能让代码的意图更清晰,代码更可阅读性。
这也是为什么 Java界里面很多类或者方法的名称都是这么长的原因。
这样阅读是清晰了,但是不便于输入。如果让你用纯文本编写 SSH( Sructs, Spring, Hibernate),不考虑配置文件,你可能还是不愿意,因为 SSH里面由于遵循良好的命名习惯,大部分类名和方法名都是非常长的。
NetBeans 6.0的 Java编辑器提供超智能的代码提示、完成功能,智能的程度丝毫不逊于 IntelliJ IDEA,更不要说Eclipse了。
下面让我们通过试验来看看 NetBeans Java代码编辑器智能到什么程度
提示:代码提示功能的快捷键为: Ctrl + 空格键 和 Ctrl+/ (反斜杠 ) ,由于 Ctrl + 空格键和
我们的中文输入法冲突了,所以你可以用 Ctrl+",或者修改为自己喜欢的快捷键
l 试验一 :
我们在 Netbeans新建一个 Java 类,删除掉 IDE给我们生成的代码然后按下 Ctrl+/
IDE识别出我们这时应该用到的关键字
l 试验二:
在一个类内部中,我们按下 Ctrl+/
Foo是新建的类,默认继承 Object 对象,看来 IDE能识别出父类的方法 clone()~toString
Foo() generate 是产生 Foo类的构造方法
后面是类内部里面可能用到的关键字和 java核心包里面的类和各个包
l 试验三:
在一个方法内部,我们按下 Ctrl+/
我们看到,代码提示里提示有方法的参数名 a,b,c
l 试验四:
添加 Spring 库
然后在方法里面输入 Appli 再按下 Ctrl+/
看到没有, Spring中的类名和 ”Appli”相关类都显示出来了
l 试验五:
在刚才的方法中输入 ApplicationContext + 空格 + Ctrl+/
呵呵, IDE帮我们想好了变量名的名称了,以后再也不用为变量名发愁了
我们引用相关变量看看
试验六:
在一个类的方法中输入 List list=new + 空格 + Ctrl+/
我晕,多态都支持,呵呵。
如果 NetBeans仅仅支持上面的代码提示功能,那么 NetBeans吸引力也不是很大,毕竟其它 IDE也提供相应的功能,但是别急,我们慢慢享受 IDE提供的免费大餐。
下面继续探索 NetBeans的代码编辑器的其它功能
我们在类面添加两个成员变量
private String name;
private String no;
然后在类里面按 Alt + Insert键(或者右键弹出菜单选择 insert code… )
l 产生构造方法, set 、 get方法
一旦成员变量变多,代码生成功能极大的方便了我们
l 重写父类方法
Alt + Insert键 选择 Override Method…
我可以重写父类的方法
l 代理成员变量的方法
首先为了测试该功能,我们新建一个成员变量
private List list;
按 Alt + Insert键 选择 Delegate Method…
然后如下图所示
下一步,产生了 List的 add()代理方法, J
l 我们还注意到, Netbeans
6.1beta里多了一个代码产生选项
Add Perprerty….
用来增加成员变量
和其它 IDE一样, NetBeans提供相应的代码左边出现一个小灯泡,以完成修复导入包等功能。
l 包导入修复
如上图,单击小灯泡后出现
l 包围代码
选择一段代码,代码左边将产生小灯泡
点击小灯泡
我们再选择 Surround with for try{
结果 IDE为我们产生了
try {
System.out.println
( "" );
} catch
(Exception exception) {
}
^_^ ,还可以用其它语句包围
l 生成 JavaDoc注释
结果 IDE为我们生成了相应的注释
提示: NetBeans6.0默认不提供该功能,启用该功能请确保 Tools > Options > Java Code 里的Javadoc里的选项都选中
l 生成返回变量声明
我们经常需要调用其它类的方法返回的值,每次调用都要声明一下局部变量,相当麻烦
我们可以让 IDE来完成
点击将产生 byte[] bytes = name.getBytes();
《重构——改善既有代码的设计》一书里提供了超过 70个已经被证明效果的重构手法,但是如果没有 IDE的支持,重构过程中很容易出错,这就是为什么很多人即使知道重构的好处也不愿意重构的原因。如果 IDE能提供很重构的支持,那么重构手法将变成半自动化,提高重构的效率。
现在让我们来看看 NetBeans 提供了哪几种重构手法:
正如上图所示, NetBeans提供了如下常用的重构手法
Change Method parameters(改变方法参数 )
Pull Up(值域、方法上拉)
Push Down(值域、方法下拉)
Extract Interface(提炼接口)
Extract Superclass(提炼超类)
Move Inner to Outer Level(移动内部类为外部类 )
Convert Anonymous to Inner(改变匿名类为内部类)
Introduce Variable(引入变量)
Introduce Constant(引入常量)
Introduce Field(引入值域)
Introduce Method(引入方法 )
Encapsulate Fields(封装值域 )
不明白重构的初学者建议看《重构——改善既有代码的设计》一书(中国电力出版社)
由于边幅的原因,不能一一举例,仅拿两个重构手法来举例
l Introduce Method(引入方法 )
假如我们有如下 Foo.java
public class Foo {
private String name;
private String no;
public void echo
(String a, int b, Long c) {
// --------------------
System.out.println( " ========================= " );
System.out.println( " 菜单
" );
System.out.println( " ========================= " );
// --------------------
// 其他关键代码
// --------------------
System.out.println( " ========================= " );
System.out.println( " 菜单
" );
System.out.println( " ========================= " );
// --------------------
}
}
明显字段代码有冗余,需要 Introduce Method重构,
最后改为:
public class Foo {
private String name;
private String no;
public void echo
(String a, int b, Long c) {
showMenu();
// --------------------
// 其他代码
// --------------------
showMenu();
// --------------------
}
private void showMenu() {
// --------------------
System.out.println( " ========================= " );
System.out.println( " 菜单
" );
System.out.println( " ========================= " );
// --------------------
}
}
l Convert Anonymous to Inner(改变匿名类为内部类)
假如我们有如下 Foo.java
public class Foo{
private String name;
private String no;
public void echo ( final String a, final int b, final Long c) {
new Thread( new Runnable() {
public void run() {
System. out.println(a + b + c);
}
});
}
}
上面的例子看起来不需要重构,但是这里仅仅是举例怎么用 Convert Anonymous to Inner手法
把光标放到 new Thread()里面
看看 IDE给我们生成了什么:
public class Foo {
private String name;
private String no;
public void echo
( final String a, final int b, final Long c) {
new Thread( new RunnableImpl(a, b, c));
}
static class RunnableImpl implements Runnable {
private final String a;
private final int b;
private final Long c;
public RunnableImpl(String a, int b, Long c)
{
this .a = a;
this .b = b;
this .c = c;
}
public void run() {
System.out.println
(a + b + c);
}
}
}
结构清晰了很多。
代码模板
有些代码或者关键字经常使用,如果每次需要时我们都要一个一个字母输入,那么效率是很低下的。Netbeans提供了方便的代码模板功能,我们可以添加自己的模板。当然 Netbeans默然提供了一些常用的模板,你只要输入代码的 缩写形式 +Tab键就可以生成相应的代码
如:
只要输入 sout + Tab键就可以生成 System.out.println(“”)了。
下面给出常用几个缩写形式:
Psf -----------public static final
br ------------break
fi -------------final
im ------------implements
ir --------------import
le--------------length
re-------------- return
sout-----------System.out.println ("|");
st --------------static
查看更多的默认代码模板,请择菜单栏的 帮助( help) ->快捷键列表( keyboard shortcuts Card )
当然也可以添加自己的模板, 从主菜单中选择Tools > Options 选择Editor
可以修改或添加代码模板,不止是 Java语言哦。
智能代码提示、完成
《代码大全》里第十一章 变量名的力量 里说道变量名的作用非常重要。为变量命名时最重要的考虑事项是,该名字要完全,准确地描述出该变量所代表的事物。上面的建议非常重要,好的变量名能让代码的意图更清晰,代码更可阅读性。
这也是为什么 Java界里面很多类或者方法的名称都是这么长的原因。
这样阅读是清晰了,但是不便于输入。如果让你用纯文本编写 SSH( Sructs, Spring, Hibernate),不考虑配置文件,你可能还是不愿意,因为 SSH里面由于遵循良好的命名习惯,大部分类名和方法名都是非常长的。
NetBeans 6.0的 Java编辑器提供超智能的代码提示、完成功能,智能的程度丝毫不逊于 IntelliJ IDEA,更不要说Eclipse了。
下面让我们通过试验来看看 NetBeans Java代码编辑器智能到什么程度
提示:代码提示功能的快捷键为: Ctrl + 空格键 和 Ctrl+/ (反斜杠 ) ,由于 Ctrl + 空格键和
我们的中文输入法冲突了,所以你可以用 Ctrl+",或者修改为自己喜欢的快捷键
l 试验一 :
我们在 Netbeans新建一个 Java 类,删除掉 IDE给我们生成的代码然后按下 Ctrl+/
IDE识别出我们这时应该用到的关键字
l 试验二:
在一个类内部中,我们按下 Ctrl+/
Foo是新建的类,默认继承 Object 对象,看来 IDE能识别出父类的方法 clone()~toString
Foo() generate 是产生 Foo类的构造方法
后面是类内部里面可能用到的关键字和 java核心包里面的类和各个包
l 试验三:
在一个方法内部,我们按下 Ctrl+/
我们看到,代码提示里提示有方法的参数名 a,b,c
l 试验四:
添加 Spring 库
然后在方法里面输入 Appli 再按下 Ctrl+/
看到没有, Spring中的类名和 ”Appli”相关类都显示出来了
l 试验五:
在刚才的方法中输入 ApplicationContext + 空格 + Ctrl+/
呵呵, IDE帮我们想好了变量名的名称了,以后再也不用为变量名发愁了
我们引用相关变量看看
试验六:
在一个类的方法中输入 List list=new + 空格 + Ctrl+/
我晕,多态都支持,呵呵。
代码生成
如果 NetBeans仅仅支持上面的代码提示功能,那么 NetBeans吸引力也不是很大,毕竟其它 IDE也提供相应的功能,但是别急,我们慢慢享受 IDE提供的免费大餐。下面继续探索 NetBeans的代码编辑器的其它功能
我们在类面添加两个成员变量
private String name;
private String no;
然后在类里面按 Alt + Insert键(或者右键弹出菜单选择 insert code… )
l 产生构造方法, set 、 get方法
一旦成员变量变多,代码生成功能极大的方便了我们
l 重写父类方法
Alt + Insert键 选择 Override Method…
我可以重写父类的方法
l 代理成员变量的方法
首先为了测试该功能,我们新建一个成员变量
private List list;
按 Alt + Insert键 选择 Delegate Method…
然后如下图所示
下一步,产生了 List的 add()代理方法, J
l 我们还注意到, Netbeans
6.1beta里多了一个代码产生选项
Add Perprerty….
用来增加成员变量
聪明的小灯泡
和其它 IDE一样, NetBeans提供相应的代码左边出现一个小灯泡,以完成修复导入包等功能。l 包导入修复
如上图,单击小灯泡后出现
l 包围代码
选择一段代码,代码左边将产生小灯泡
点击小灯泡
我们再选择 Surround with for try{
结果 IDE为我们产生了
try {
System.out.println
( "" );
} catch
(Exception exception) {
}
^_^ ,还可以用其它语句包围
l 生成 JavaDoc注释
结果 IDE为我们生成了相应的注释
提示: NetBeans6.0默认不提供该功能,启用该功能请确保 Tools > Options > Java Code 里的Javadoc里的选项都选中
l 生成返回变量声明
我们经常需要调用其它类的方法返回的值,每次调用都要声明一下局部变量,相当麻烦
我们可以让 IDE来完成
点击将产生 byte[] bytes = name.getBytes();
代码重构
《重构——改善既有代码的设计》一书里提供了超过 70个已经被证明效果的重构手法,但是如果没有 IDE的支持,重构过程中很容易出错,这就是为什么很多人即使知道重构的好处也不愿意重构的原因。如果 IDE能提供很重构的支持,那么重构手法将变成半自动化,提高重构的效率。现在让我们来看看 NetBeans 提供了哪几种重构手法:
正如上图所示, NetBeans提供了如下常用的重构手法
Change Method parameters(改变方法参数 )
Pull Up(值域、方法上拉)
Push Down(值域、方法下拉)
Extract Interface(提炼接口)
Extract Superclass(提炼超类)
Move Inner to Outer Level(移动内部类为外部类 )
Convert Anonymous to Inner(改变匿名类为内部类)
Introduce Variable(引入变量)
Introduce Constant(引入常量)
Introduce Field(引入值域)
Introduce Method(引入方法 )
Encapsulate Fields(封装值域 )
不明白重构的初学者建议看《重构——改善既有代码的设计》一书(中国电力出版社)
由于边幅的原因,不能一一举例,仅拿两个重构手法来举例
l Introduce Method(引入方法 )
假如我们有如下 Foo.java
public class Foo {
private String name;
private String no;
public void echo
(String a, int b, Long c) {
// --------------------
System.out.println( " ========================= " );
System.out.println( " 菜单
" );
System.out.println( " ========================= " );
// --------------------
// 其他关键代码
// --------------------
System.out.println( " ========================= " );
System.out.println( " 菜单
" );
System.out.println( " ========================= " );
// --------------------
}
}
明显字段代码有冗余,需要 Introduce Method重构,
最后改为:
public class Foo {
private String name;
private String no;
public void echo
(String a, int b, Long c) {
showMenu();
// --------------------
// 其他代码
// --------------------
showMenu();
// --------------------
}
private void showMenu() {
// --------------------
System.out.println( " ========================= " );
System.out.println( " 菜单
" );
System.out.println( " ========================= " );
// --------------------
}
}
l Convert Anonymous to Inner(改变匿名类为内部类)
假如我们有如下 Foo.java
public class Foo{
private String name;
private String no;
public void echo ( final String a, final int b, final Long c) {
new Thread( new Runnable() {
public void run() {
System. out.println(a + b + c);
}
});
}
}
上面的例子看起来不需要重构,但是这里仅仅是举例怎么用 Convert Anonymous to Inner手法
把光标放到 new Thread()里面
看看 IDE给我们生成了什么:
public class Foo {
private String name;
private String no;
public void echo
( final String a, final int b, final Long c) {
new Thread( new RunnableImpl(a, b, c));
}
static class RunnableImpl implements Runnable {
private final String a;
private final int b;
private final Long c;
public RunnableImpl(String a, int b, Long c)
{
this .a = a;
this .b = b;
this .c = c;
}
public void run() {
System.out.println
(a + b + c);
}
}
}
结构清晰了很多。
相关文章推荐
- 使用 AppFuse 的七个理由--学习 Java 开放源码工具 —— 并使用这些工具提高生产效率
- 整理关于java开发工具使用过程中一些小技巧来提高开发效率
- Netbeans使用技巧,从点滴提高编程效率
- NetBeans 使用的一些小技巧提高开发效率
- java 代码优化 优化内存使用 防止内存泄露 优化代码规范 提高效率
- 使用VS2005搭建典型高效的SharePoint开发环境,提高生产效率,包含远程调试,自动部署
- java多线程(七)提高锁的效率——使用读写锁
- NetBeans 使用的一些小技巧提高开发效率
- java中使用多线程不能明显提高程序效率的一些原因
- [Java]使用lombok提高编码效率
- 使用Cruise和Mercurial实现个人预提交,提高生产效率及整体自动化测试成功率
- java多线程(七)提高锁的效率——使用读写锁
- 熟练使用idea快捷键,大幅提高java开发效率
- java中使用sql的存储过程,提高查询效率
- 使用VS2005搭建典型高效的SharePoint开发环境,提高生产效率,包含远程调试,自动部署
- 使用VS2005搭建典型高效的SharePoint开发环境,提高生产效率,包含远程调试,自动部署
- java 代码优化 优化内存使用 防止内存泄露 优化代码规范 提高效率
- 灵活使用Excel可能会提高Java代码编写效率
- Oracle模糊查询之(3.1从使用函数和sql语法角度来提高模糊查询效率 一)oracle模糊查询效率提高
- node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用提高nodejs调试效率