当我坐下来写这篇博客文章时,我思考了我已经发展了多少年,以及有多少我很幸运地遇到了我的职业生涯的伟大人物。 我已经从事了18年的专业开发工作(哇,我正在变老),最近10多年一直担任顾问。 在所有的时间里,我很幸运地与所有不同的组织一起工作,以及与我坐在一起的所有开发人员,对我们所有人来说,有一件事对我很重要……我们很懒。
如果您要求开发人员执行任务,那么大多数人都会编写一个程序来执行该任务,然后运行该程序。 为什么? 因为……我们很懒。 如果您回来并要求我们再次执行相同的任务,我们将重新运行该程序。 我们抱怨单击3次,不得不滚动网页并加载超过5秒的时间(天哪!)。
我不能说我有什么不同。 在某种程度上,我认为它对我很有帮助。 也就是说,它为开发人员提供了一些懒惰的良好条件。 当然,天生懒惰是一件坏事。 它可以使您偷工减料,编写错误的代码,不认真思考,并使您的妻子想拔头发。
但是,我是一个非常乐观的人。 懒惰也可以(如果明智地使用)有助于提高效率。 它可以促进交流和创新。 哎呀,如果真的经过测试,它甚至可以使您成为更好的程序员。
我看着每天使用的开发环境,我意识到它对我有多大的作用,没有它我会迷失的。 我选择的IDE是Eclipse ™。 自1990年代末以来,我一直在使用它,我像穿着舒适的旧毛衣一样穿着它。 我似乎无法摆脱她。
在Eclipse的视觉布局,编辑器支持和键盘快捷键之间,我能够训练自己的手指和大脑,不仅使我键入以执行任务的击键次数最少,而且使我的手离开键盘的次数最少。键盘触摸鼠标。 因为那需要永远!
因此,这里有一些关于在Eclipse之类的环境中成为开发人员的我最喜欢的功能/提示/技巧:
导航
当我说“导航”一词时,我的意思是在文件之间和文件内移动。 快速定位并打开文件进行编辑的能力对于开发人员的懒惰至关重要。 您能想象每次要打开文件时都必须逐个文件夹地进行挖掘吗? Eclipse为您提供了两种避免这种情况的好方法:
- 打开类型 –通常映射到Ctrl-Shift-T组合键。 “打开类型”会弹出一个对话框,光标对准搜索框。
开始输入内容,Eclipse将向您显示与您的关键字匹配的类的列表(支持通配符!)。 使用箭头键,选择匹配的文件,然后按Enter。 瞧! 您开设了一个课堂,而您的手再也不必触摸鼠标了。 (请注意,较新版本的Eclipse还允许您在对话框底部选择用来打开文件的View / Editor)。
- 开放资源 –通常映射到Ctrl-Shift-R组合键。 几乎与“打开类型”命令相同,“打开资源”将打开任何文件,而不仅仅是Java类。 采用相同的方法。 打开对话框,输入名称,然后按Enter。 超级简单。
很多时候,我发现自己不仅使用这些工具来打开文件,而且还研究它们的存在位置。 例如,如果收到ClassNotFoundException,则将使用“打开类型”对话框键入缺少的类的名称,并查看它存在于哪个jar文件中。这是诊断类路径,生成和部署问题的一种绝妙方法。
现在您已经打开了文件,Eclipse为您提供了一些用于在文件本身中进行导航的出色工具。
- 增量查找 –通常映射到Ctrl-J组合键。 这使您可以按击键开始搜索打开的文件。 开始后,通过键入Ctrl-J,可以输入要匹配的字符(不区分大小写!)。 您键入的每个字符都会添加到搜索中,您可以看到光标(和焦点)在文件中找到匹配项时在文件中移动。 停止键入键,然后再次键入Ctrl-J以移至下一个匹配项(针对您要搜索的当前字符串)。
- 打开方法 –通常映射到Ctrl-O组合键。 这使您可以在当前打开的文件中搜索已声明的方法。 同样,这是不区分大小写并启用通配符的。 只需开始输入要导航到的方法名称的一部分,然后按Enter键即可直接转到突出显示的匹配项。
加分 ! – 在“打开方法”对话框窗口打开的情况下,再次键入Ctrl-O 。 现在,您可以在当前类的层次结构(继承的方法)中的任何位置搜索并打开方法!
- 快速类型层次结构 –通常映射到Ctrl-T组合,并使用当前光标位置作为其上下文。 这样做的目的是向您显示实现或扩展当前选择的层次结构中所有类的层次结构树。 例如,将光标放在接口的名称上,然后键入Ctrl-T 。 您将看到实现该接口的所有类的列表。 在方法名称上执行相同的操作,您将看到该方法的所有替代/扩展。 这对于了解层次结构中的位置非常方便。
任务和时间跟踪
无论您是顾问,承包商,全职员工还是自由职业者,都有可能如果您是开发人员,系统将要求您跟踪时间并填写时间表。 有无数种基于台式机和基于Web的时钟和计时器可用于跟踪这些情况。 但是,我很懒。 我希望所有工具都在Eclipse中,这样我就不必启动其他应用程序并在它们之间导航。 Eclipse有一个不错的解决方案,它不仅可以跟踪您的时间,还可以跟踪您的工作任务。 叫做Mylyn 。
Mylyn是列出和跟踪您需要执行的任务的进度和状态的基本思想。 Mylyn的使用连接器去跟第三方工作流工具,如Bugzilla的,JIRA以及拉力赛。 通过将Mylyn连接到这些工具,您将能够在工作项目列表中激活一个工作项目。 激活任务(在“任务”视图中双击它)不仅可以启动计时器,还可以跟踪激活该任务时触摸的每个文件。 Mylyn将此称为上下文。 可以向上下文中添加文件或从上下文中删除文件。 可以激活和停用任务。 其他任务可以激活和停用,Mylyn会跟踪所有任务。
很多时候,您使用的连接器(通常由构建工作流工具的同一位开发人员编写)也使您可以打开“任务”进行编辑。 这使您可以添加注释,日志文件名,甚至记录正在执行的任务的时间。 同样,您不必离开Eclipse即可执行此操作。
数据库访问
Eclipse基金会为开发其数据库连接平台投入了无数的时间和精力。 内置的Eclipse功能已经完成,可以连接到远程数据库(支持从Oracle到DB2到SQL Server和MySQL的每个主要实现)并执行查询。
我过去曾经使用过他们的数据工具平台 ,但是最近我偏向于Eclipse的Toad插件 。 Toad以其桌面数据库工具而闻名,但出于任何原因,我从未对其进行依附。 但是,他们的Eclipse插件非常适合我。
它允许您存储预定义的连接,执行查询并查看其结果,以及具有良好实施的数据库的大纲视图。 该视图向您显示了您登录后可以访问的所有内容。表,视图,包,同义词等都在一个紧凑视图中。 而且,整个过程都可以通过击键过滤(支持通配符!)。 不记得确切的表名了吗? 只需输入几个字符,然后让Toad为您过滤列表。
单击表(或视图)可显示详细信息,包括列,类型,引用,索引和约束。 您甚至可以通过单击“数据”选项卡来预览表中的数据。
同样,您不必离开Eclipse即可执行任何上述操作。
日志文件监控
通常,我在Eclipse中运行我的代码,日志记录/输出被馈送到控制台。 但是有时候这是不可能的。 我最近发现了一个名为LogViewer的不错的插件,该插件可让您在文件系统上打开日志文件并观察其增长。 这实质上是unix tail命令的Eclipse版本。 对于那些您无法/无法在Eclipse中运行代码的时代,这非常有帮助。
结论
Eclipse还有我每天使用的许多其他功能。 对于它的存储库连接性(用于CVS,SVN等),服务器启动的支持(Tomcat,Apache,JBoss等),调试工具等等,我还不能说清楚。 但是当涉及到懒惰时,这些是我的最爱。 有自己的吗? 请告诉我们!