使用快捷键,快到极致

前段时间曾经写过一篇文章,《优秀程序员无他-善假于物也》。其中谈到一点是优秀的程序员必须要能灵活的掌握常用软件的快捷键。对于程序员来说,每天使用时间最长的软件恐怕就是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并回车。

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

    最后生成如下的代码。

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

这是生成的代码。

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条目,然后回车。

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

生成的代码如下。

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条目按回车。

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

最终代码生成。

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给大家。

时间: 2024-11-01 06:44:41

使用快捷键,快到极致的相关文章

快,极致性能!深度剖析IBM FlashSystem全闪存阵列

在大数据时代,人们对存储的要求越来越高,成倍的数据增长不仅对存储容量提出了更高的要求,云计算.云存储.移动应用等各种实时交互应用对存储的性能也提出了更加苛刻的要求.在一些中高端的存储服务器上,全闪存存储已经开始替代传统存储方案,成为主力.与传统存储方案相比,全闪存存储有着诸多的优势,尤其是在性能方面,超低的延迟,超高的响应时间和执行效率,让传统存储方案望其项背.   在存储行业中,IBM.EMC.NetApp等主流的存储厂商均推出了全闪存存储解决方案,特别是IBM,在并购了TMS公司后,基于TM

OS X 中实现 Aero Snap 效果的小工具 Shift it

  如果你在大屏幕上用过 Windows 7,那么你一定会对其中 Aero Snap 这个功能印象深刻.其实我们在 OS X 中也可以借助一个小工具实现类似的功能:Shift it 是一个 host 在 Google Code 的开源项目,同时支持 OS X 10.5 和 10.6,运行后可以用键盘快捷键快速排布当前应用程序的窗口位置.

黄嘉榔:终究是慢了!互联网思维挖了传统教育的未来

前言:互联网思维很火,教育行业也被烧身了,用不懂教育的思维做教育,是一种颠覆,用懂教育的做教育是一种自我改革.无论YY还是新东方,亦或者学大都是如此,终究逃不掉互联网思维的侵蚀.传统教育机构已经开始被互联网思维挖未来的墙角,而不是在线教育这个玩意. 文/黄嘉榔(微信号:wo8013520) 在线教育很美吧十八篇.2月25号,YY豪砸10亿打造在线教育未来航母-100教育.很多人问我为什么不解读热点,我说:10亿只是个抢头条的数据,我们不清楚未来投入的多少,但关注的是YY真的走出那步了,那个让传统

阿黎回归将带来改变,但重振小米是个伪命题

2015年的小米是焦头烂额的一年.在市场和舆论上不利消息太多,几乎所有友商都针对小米主动进攻,见招拆招.小米在拳场上似乎遭遇了一场友商们默契配合的群殴,纵然拳术高超,但由于应接不暇,也备显吃力. 舆论和公关战场上更是如此,背负了五年荣耀的小米走的有些沉重,少了过去快.极致的风采,反而多了几分畏首畏尾.不少媒体人士对此解读称,这是黎万强出走带来的负面影响,有人甚至腹黑地猜起了小米宫斗内幕,所谓黎万强功高震主.雷军送走黎万强等说法一时被圈内广泛谣传. 业内关于"黎万强回归能否振兴小米"的命

百度视频App推出极速搜索 找片只需0.046秒

中介交易 SEO诊断 淘宝客 云主机 技术大厅 人们常用"眨眼之间"来形容快到极致,但是,即将在百度视频App与大家见面的"百度视频极速搜索技术"比眨眼更快.科学研究证实,人类眨一次眼的时间是0.2秒,而使用百度视频App"极速搜索技术"的找片时间只需原来普通搜索的十分之一,为用户呈现搜索结果只需0.046秒,比眨眼整整快了4倍以上,提速效果十分明显. 一直以来,"视频搜索"一直是搜索领域的难点,搜索速度更是难破瓶颈.从技术角

教育也被互联网这团“火”烧了

用不懂教育的思维做教育,是一种颠覆,用懂教育的做教育是一种自我改革.不管是YY还是新东方,甚至其他学术型的驾驭,都逃不掉互联网思维的侵蚀.渐渐的,传统教育机构已经慢慢加入互联网,并且在未来互联网会占有很大一部分. 2月25号,YY豪砸10亿打造在线教育未来航母-100教育.10尽管只是个抢头条的数据,不过他的含义却是十分重大的,我们不清楚未来还会投入多少,但不得不说的是,YY终于与互联网接轨,走出了哪一步,传统教育不怕在线教育火爆,因为他们自身网校本身盈利(这个很多人都不知道的),但是他们最怕的

生活半径:餐饮加配送

外卖订餐网站层出不穷,但是同时提供配送服务的极少.生活半径就是这样一家自建物流配送团队的外送服务公司,同时餐饮时段外提供本地商品配送服务. 当听到"生活半径"四个字时,你可能很难把它和以餐饮外卖切入本地生活服务快递的网站对等起来.而提起"到家美食会"或者"饿了么",或许你一眼就能看出它们的功能--外卖网站. 这不是起名艺术的问题,是"生活半径"的创始人们,并不只是想做一个"外卖网站",他们想做的还有更多--

QQ互联全面开放 助网站获取流量与用户

中介交易 SEO诊断 淘宝客 云主机 技术大厅 日前,QQ互联宣布推出多个插件版,包括QQ互联插件版 for Discuz! 7.2/X1.5以及QQ互联插件版for phpwind 8.0/8.3/8.5.至此,国内主要的两大论坛系统Discuz! 和phpwind都已纳入QQ互联开放体系,这意味着QQ互联将覆盖90%以上的中文论坛,QQ互联正用实际行动来诠释开放,并将其开放理念落到实处,同步专题(http://discuz.qq.com/activity/connectOpen?adtag=

那些被你忽略的传统企业“触网”案例

商业的本质就是必须要有一个可持续的商业模式,传统企业的触网案例中,可以总结四个不可阻挡的大趋势:制造和服务融合.流程创新.互联网思维.电子商务主导的商业闭环.作为一个传统媒体行业中的老兵,我已经在这个行业中摸爬滚打了十年.与新生的媒体浪潮相比,近两年来纸媒甚至广电行业都是一片风雨飘摇.每况愈下的悲催境地.我自己亲身经历的纸媒的自我救赎也可以说是林林总总.五花八门了,但什么才是互联网媒体?什么才是移动互联网媒体呢?电子商务又怎么才能和新媒体结合起来?这些问题着实难住了纸媒的老大们.毕竟,传统媒体的