使用快捷键,快到极致

简介: 前段时间曾经写过一篇文章,《优秀程序员无他-善假于物也》。其中谈到一点是优秀的程序员必须要能灵活的掌握常用软件的快捷键。对于程序员来说,每天使用时间最长的软件恐怕就是IDE(Integrated Development Environment)了。

前段时间曾经写过一篇文章,《优秀程序员无他-善假于物也》。其中谈到一点是优秀的程序员必须要能灵活的掌握常用软件的快捷键。对于程序员来说,每天使用时间最长的软件恐怕就是IDE(Integrated Development Environment)了。如果你是C#的程序员,那么就基本非Visual Studio莫属了。而如果你是Java的程序员,那么eclipse,myeclipse或者Intellij都有人用之。如果你是Ruby等动态语言的程序员,那么Vim、Emacs、RubyMIne…有太多的选择可以成为你的IDE。

下面我就用Intellij来给大家演示下使用快捷键是多么的强大,能提高多大的效率。(以下所使用的快捷键在eclipse中基本都有对应的快捷键。)

大家先看一个简单的类。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class BeanConfig {
    private String name;

    private String className;

    public BeanConfig(String name, String className) {
        this.name = name;
        this.className = className;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }
}

这是一个很普通的Value Object。创建这个类并写完这些代码需要多长时间那?不同人会给出不同的答案。使用快捷键与不使用快捷键有天壤之别。

不使用快捷键,你需要手写全部的代码。而使用快捷键,最多你只需要敲半行代码。这半行代码就是构造函数里的那两个参数String name, String className

下面我就一步步的演示如何使用Intellij的快捷键来创建这个Value Object。

  • 使用Ctrl+1切换到project列表项,使用使用上下箭头键选择放置这个Value Object的package。

  • 使用Alt+Insert键调出创建对话框,选择new class并回车。

    img_6d2e3172e35ea2e32fd16e27427e34ed.png

    在弹出的Create New Class对话框中键入类名,并回车。

    img_a9c95d06adb26052ad0a58ddb403b478.png

    最后生成如下的代码。

1
2
public class BeanConfig {
}
  • 按esc键将光标移动到editor中,按下alt+Insert键调出Generate对话框,选择Constructor项并回车。这样会生成一个无参数的构造函数。

img_588e03e7951b0b0deccd66bb944bd89c.png

这是生成的代码。

1
2
3
4
public class BeanConfig {
    public BeanConfig() {
    }
}
  • 光标移动到构造函数名后的小括号内,敲入这样的代码String name, String className

此时代码如下。

1
2
3
4
public class BeanConfig {
    public BeanConfig(String name, String className) {
    }
}
  • 光标保持在构造函数的参数列表中,使用alt+Enter快捷键,选择Create Fields For Constructor Parameters条目,然后回车。

img_c0ec5d82fe967736c85880b33606aa4b.png

在弹出的对快框中使用shift+下箭头选中这两个field并回车。

img_fa6fda9ff199922d372c9d87fb55fe88.png

生成的代码如下。

1
2
3
4
5
6
7
8
9
public class BeanConfig {
    private final String name;
    private final String className;

    public BeanConfig(String name, String className) {
        this.name = name;
        this.className = className;
    }
}
  • 删除nameclassNamefinal修饰符。最快捷的方法是光标移动到final处,按Ctrl+W键选中整个字符,然后按Delete键。

此时代码如下。

1
2
3
4
5
6
7
8
9
public class BeanConfig {
    private String name;
    private String className;

    public BeanConfig(String name, String className) {
        this.name = name;
        this.className = className;
    }
}
  • 光标移动到任意一个field处,使用alt+Insert弹出Generate对话框,选择Getter and Setter条目按回车。

img_2235861056e859706c6dad440d871b00.png

在弹出的Select Fields to Generate Getters and Setters对话框中,使用shift+下箭头选中两个field,按回车。

img_bb3e799f5c96b0ee846ab047c4574f6d.png

最终代码生成。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class BeanConfig {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    private String className;

    public BeanConfig(String name, String className) {
        this.name = name;
        this.className = className;
    }
}

整个过程中不需要动一下鼠标,这意味着你的双手根本不需要离开键盘。使用快捷键比不使用快捷键效率至少提高5倍,而且还不会出错。最重要的一点是它能让我们的大脑从这些繁琐的体力劳动中解脱出来,从而集中到更需要发挥脑力劳动的地方。

其实灵活使用IDE的快捷键是一门大学问,我在和同事pair的过程中经常能从他们身上学到一些使用IDE的快捷键的妙处。以后有时间会专门整理出来share给大家。

相关文章
极致服务,头痛也需医脚
一个故事带你体验头痛医脚,头好脚也好的曼妙感受!
|
7月前
|
C# UED 开发者
WPF与性能优化:掌握这些核心技巧,让你的应用从卡顿到丝滑,彻底告别延迟,实现响应速度质的飞跃——从布局到动画全面剖析与实例演示
【8月更文挑战第31天】本文通过对比优化前后的方法,详细探讨了提升WPF应用响应速度的策略。文章首先分析了常见的性能瓶颈,如复杂的XAML布局、耗时的事件处理、不当的数据绑定及繁重的动画效果。接着,通过具体示例展示了如何简化XAML结构、使用后台线程处理事件、调整数据绑定设置以及利用DirectX优化动画,从而有效提升应用性能。通过这些优化措施,WPF应用将更加流畅,用户体验也将得到显著改善。
512 1
|
7月前
|
搜索推荐 Windows
Axure RP 9高手速成秘籍:解锁终极快捷键,设计效率飙升10倍!
Axure RP 9作为一款功能强大的原型设计工具,提供了丰富的快捷键来加速设计流程。以下是一份详尽的Axure RP 9快捷键大全,旨在帮助用户更高效地完成设计工作。
106 2
|
7月前
|
缓存 算法 数据库
安卓应用性能优化:一场颠覆平凡的极限挑战,拯救卡顿的惊世之战!
【8月更文挑战第7天】《安卓应用性能优化实战》
79 4
|
7月前
|
API UED 开发者
超实用技巧大放送:彻底革新你的WinForms应用,从流畅动画到丝滑交互设计,全面解析如何在保证性能的同时大幅提升用户体验,让软件操作变得赏心悦目不再是梦!
【8月更文挑战第31天】在Windows平台上,使用WinForms框架开发应用程序时,如何在保持性能的同时提升用户界面的吸引力和响应性是一个常见挑战。本文探讨了在不牺牲性能的前提下实现流畅动画与交互设计的最佳实践,包括使用BackgroundWorker处理耗时任务、利用Timer控件创建简单动画,以及使用Graphics类绘制自定义图形。通过具体示例代码展示了这些技术的应用,帮助开发者显著改善用户体验,使应用程序更加吸引人和易于使用。
102 0
|
7月前
|
Java 数据库连接 缓存
Hibernate性能调优:五大秘籍,让应用效能飙升,告别慢如蜗牛的加载,体验丝滑般流畅!
【8月更文挑战第31天】本文深入探讨了提升Hibernate应用性能的五大技巧,包括选择合适的缓存策略、优化查询语句、合理使用Eager与Lazy加载、批量操作与事务管理以及利用索引和数据库优化。通过正确配置多级缓存、分页查询、延迟加载、批量处理及合理创建索引,能够显著提高应用响应速度与吞吐量,改善用户体验。这些技巧需根据具体应用场景灵活调整,以实现最佳性能优化效果。
299 0
|
9月前
|
机器学习/深度学习 搜索推荐
一招告别百度广告烦恼,同时效率提高100倍的几个常用搜索技巧!
一招告别百度广告烦恼,同时效率提高100倍的几个常用搜索技巧!
|
10月前
|
缓存 前端开发 Java
去掉 if...else 的七种绝佳之法...
去掉 if...else 的七种绝佳之法...
|
iOS开发 MacOS Windows
拥有100+高效工具的我,差点被这个问题难住了 | 给视频加字幕
拥有100+高效工具的我,差点被这个问题难住了 | 给视频加字幕
拥有100+高效工具的我,差点被这个问题难住了 | 给视频加字幕