您的位置:首页 > 编程语言 > Java开发

eclipse天下无鼠之开天辟地第一篇

2012-11-07 06:58 253 查看

起因

最近购买了刘未鹏所著《暗时间》一书:



颇有震撼,使我更加相信田志刚《你的知识需要管理》、美崎荣一郎《被告诉我你会记笔记》等书所涉及到的自我知识管理、职场笔记、GTD时间管理所带来对个人修养、学识方面的影响。

比如在学生时代常常以为做笔记是为了辅助记忆、理清知识脉络,而我常常自以为能坚持详细的笔记而感到自我陶醉。在近2年的职场生涯中,我逐步体会到javaEE体系的庞大,即使是对于工作中所要涉及到技术的初步入门,也将耗费我大量时间,更谈不上记忆,这也使我有一段时间嫉妒迷茫(无论如何努力,所学只能算是沧海一粟)。在《被告诉我你会记笔记中》中,作者讲到:学生做笔记和职场人士做笔记是完全不同的。学生做笔记是为了记忆所学的知识和概念,而职场人士是为了遗忘而做笔记,职场笔记不是为了背诵或记忆,而是先记录下来以备不时之需。我渐有豁然开朗的感觉。

再比如《暗时间》中有一段关于改变习惯的描述也让我十分诧异。作者更加倾向于阅读一些思维类的书,从思维本身出发、从心理学的角度来看某些行为的成因,然后以心理学的方法去纠正错误的东西、延续正确的东西。对于习惯难以改变的成因,书中写道:习惯之所以难以改变,就是因为习惯是自我巩固的-越用越强,越强越用。这不足为奇,因为“江山易改,本性难移”嘛,通常人会采用一日三省、自我自制的方式来解决,但作者却并未使用此方法,书中写道:能够改变既有的习惯,依靠的不是自制力,而是知识。作者没有从更加艰难的路径来解决问题,而是从思维本身的角度来克服思维的缺点,有点“根源分析”的感觉。

类似的东西还有很多,我以前更多地是关注GTD方面的资料,看过《暗时间》之后,我有必要从豆瓣中查查思维方面、心理学方面的书籍了,也该实践实践《暗时间》中的方法,写写博客,而不是碎碎念、流水账。

为什么不依赖工具?

曾几何时,我开始严重依赖于工具、依赖于自动化,我算不上严格意义上的软件控(至少不会疯狂下载软件、保持所有软件是最新的),但我匮乏的工作经验告诉我:能用机器做的事情,千万不要手工操作。

Neal Ford所著《卓有成效的程序员》一书中讲到各种提高软件开发效率的方法(包括自动化法则、专注法则等种种措施)是能引起我的共鸣的。借助于此书所描述的一些法则、方法,我更加清晰地了解到让机器工作,而不是手工操作的重要性,提高效率原来如此。

OK,我准备阐释一下为何我如何依赖于软件工具。

IDE之前

我经常会看到一些前辈高人指点后人是这样说的:要明白其中原理,而不要过分依赖于IDE,入门要用文本编辑器,类似于Ultraedit、VIM之类的工具足矣,再加上本身Java SDK命令行,这样才能深入理解。这话本身就非常有道理,而且无论怎么看怎么有道理,并且我也是双手赞成的。

如果项目足够小,那么使用Maven2(或者Ivy+Ant)的组合就能很方便地实现项目在组织、编译、打包,如果觉得文本编辑器不够智能,那么装个Vim+VJDE,多个智能提示也许适合你。当然,这里的maven2、ivy、ant也同样是工具软件,总不能脱离软件写软件吧。

VIM确实够强大,够NB,其强大就在于其强大的插件体系,任何人都可能扩展,而开源在很大程度上推动了其功能方面的急速膨胀(我用Vim还停留在小儿科阶段,我通常会特意性地使用Cygwin下的VIM,或者干脆真个GVIM来做一些日常小脚本的编写工作,但是,我相信没有1-2年的持续使用经验,让Vim跟上思维的步伐还是比较困难的)。



相对于Java工程的复杂,Python项目比较简洁,这是由其语言本身所决定的。由于语言本身的封装及其良好,实际编码就变得异常简单,一个工程也许只需要简单的几个py文件,鉴于此,强大的IDE反而无可无不可了(IDE的智能提示对动态语言的支持比较鸡肋,通常使用文件搜索更加高效)。这就导致一个VIM就能搞定Python编码,IDE属于多余。很多时候一个py文件就能满足我的需求,至于为什么使用Python,很多时候源于此语言的强大,我可以很方便地写一个socket服务器、很方便得分析日志,但通常这需要写很多Java代码。

IDE之时

IDE的优势在项目足够复杂之时体现,而且项目越复杂,其优势越明显。而对于JavaEE开发,通常都是一些企业级的应用(简单的CMS之类的东西,使用php显然更加有优势),其项目复杂度可想而知,这是eclipse就是最好选择。

随着项目的不断变大,使用文本编辑器将使效率呈直线下降,因为定位资源、定位类、查看类所支持的方法、查看类继承结构都变得异常困难(从实际经验来讲,我要定位类、查找切入点、了解以前代码将占到我整个工作的80%左右时间,实际编码时间不至于太多,除非项目是全新的,没有任何积累)。Eclipse非常适合于组织、管理大型项目,其工程(project)、工作集(workset)等概念对于多项目的组织条理是非常清晰的。

Eclipse的一个最为强大的优点在于其良好的架构,同样拥有VIM这样的插件机制。Eclipse作为一个开源项目,汇集了n多人的智慧,极具扩展性,任何人都可以通过自身工作需要进行扩展。即使是像我这样没有足够经验的小白也是可以扩展的,如我工作时经常碰到一些中文被转换成了ASCII码,每次都要用JDK提供的工具进行转换(网上有直接Native和ASCII相互转化的小程序),于是乎我就写了一个小插件用于编码之间的相互转化,如图



欢呼吧,eclipse之于我就如空气、水一样重要,这是我赖于谋生的工具。

Eclipse版HelloWorld

废话是我思维的过程,所以我并不准备写太少,^_^。

接下来,我准备用eclipse写一个Hello World的控制台程序,聊以展示如何使用现代化工具提高工作效率。

第一步 新建工程
按下Ctrl+Alt+N键,打开新建工程菜单:



按下J+Enter,新建Java工程,输入工程名MyTest,按Alt+N进入下一步,再按Alt+F完成新建。

第二步 新建net.csdn.huigoo.test包

按下Shift+Alt+N弹出新建菜单,按下P,新建包,输入net.csdn.huigoo.test,如图



按下Alt+F结束新建包

第三步 新建HelloWorld类

按下Shift+Alt+N弹出新建菜单,按下C+Enter,弹出新建类菜单,输入类名HelloWorld,按下Alt+V(勾选自动生成main方法),按下Alt+F结束新建类



第四步 编辑代码
按下Ctrl+L,输入9并按下Enter定位到TODO这一行



按下Ctrl+D删除TODO内容,输入sysout,按下Alt+/,自动完成代码System.out.println(“”);



输入输出内容”Hello World”,按下Ctrl+S保存。



第五步 运行
按下Shift+Alt+X弹出运行菜单



按下x,即能代码,在Console中看结果吧。

小结

这是本系列文章的第一篇,我准备分4篇文章来讲述eclipse快捷键部分的内容,暂时称之为天下无鼠系列吧,纯键盘操作比鼠标操作更加有效率,这是可以确定的(在《卓有成效的程序员》一书中讲到CLI较之于Windows对于程序员而言更加高效)。VIM骨灰级玩家是可以完全脱离鼠标,但eclipse则不尽然,各取所需吧,不常用的功能也没必要记忆快捷键,这毕竟是费脑子的事情。



当然,既然要写,我也并不准备泛泛而谈,而是将实际操作融入其中(实际上,网上关于eclipse快捷键操作已经有很多人整理成了一个数据表)。我先将eclipse快捷键部分整理出来,之后再整理eclipse插件(subclipse、Mylyn等)使用部分内容,再接着也许是一些小插件的编写吧,暂定如此吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: