2006 年 11 月 06 日
Mylar 通过将任务无缝集成到 Eclipse 中并治理那些任务的上下文,提高了效率。本教程是有关如何使用 Mylar 的指南,共分为两部分,在上半部分中,项目主管 Mik Kersten 向您介绍了 Mylar 的任务治理工具以及任何将其与 Bugzilla、Trac 和 JIRA 等库集成。
虽然软件系统、框架及工具可以持续无限期地发展,开发人员处理信息的能力却有一个实际的上限。大多数现代 IDE 用增强的编辑工具、结构视图工具及搜索工具来试图解决这个问题。尽管这些机制使得在大型系统中导航变得十分简单,但对于开发人员为了完成编程任务治理而必须处理大量信息这一事实却于事无补。其结果是会导致 IDE 结构视图过载 —— 即使对于一个小的企业应用程序,Eclipse Package EXPlorer 都可能包含好几万个元素 —— 且开发人员会在滚动信息、导航信息、解析信息上浪费大量的时间,而不能及时完成任务。
有趣的是,在大多数情况下,为完成编程任务,并不需要看到系统的整个等级结构或对一个特定方法的一个引用。对于处理 bug 或添加功能来说,您所关心的只是系统的一个子集。
Mylar 是一项新的交互技术,它通过给 Eclipse 添加两种新工具:任务治理和上下文治理让子集变得清楚。任务治理工具将 bug/task/issue 跟踪器集成到 Eclipse 中,并提供高级的任务编辑及计划安排工具。上下文治理工具监控同 Eclipse 的交互,自动识别和手头任务相关的信息,并聚焦到 Eclipse 视图及编辑器,从而只显示相关信息。将此结合起来,这些工具极大地减少了过载并显著提高了开发人员的生产效率(有关该领域研究的成果,请参见 参考资料 中的文章 “Using Task Context to ImPRove Programmer ProdUCtivity”)。
防止信息盲区
Mylar 使用显式的任务治理和上下文治理(和富 Eclipse IDE 一起),通过只显示所需信息,从而使得在大型系统上工作变得更加简单。事实上,这正是 Mylar 名字的来历:就似乎在盯着日食看时,银质的 “Mylar” 胶片会防止盲区,当盯住 Eclipse 视图时,Mylar 会防止信息盲区。
这个分为两部分的文章是使用 Mylar 的指南。第 1 部分是对 Mylar 的概述,同时介绍了其任务治理工具。第 2 部分 展示了其上下文治理工具,并探讨了 Focused UI 对日常编程及开发方法论的影响。为了方便您学习,这两篇文章是同时发表的。
请注重本文假设您熟悉 Eclipse IDE。第 1 部分适用于任何编程语言或 Eclipse 发行版。第 2 部分专注于 java™ 开发,但也探讨了适用于所有基于 Eclipse 的工具的特性。Bugzilla 是贯穿于全文的样例中所使用的任务库,但也可以推广至由 Mylar 支持的其他问题跟踪器。
Mylar 简介
Mylar 以记录任务(参见 参考资料,获取支持版本)的复杂机制拓展了 Eclipse SDK。任务 被定义为想要回顾或同他人一起分享的任何工作单元,如一个由用户报告的 bug,或写给自己的一条关于改进功能的注释。可以将任务存储到本地的工作空间,或从一个或更多任务库中获取。要连接到任务库,必须有一个支持该库的连接器。(任务库 是如 Bugzilla、Trac 或 JIRA 等的 bug/ticket/issue 跟踪器。)
任务一旦集成,Mylar 监控这些任务的活动,从而识别与手头任务相关的信息。Mylar 从中创建一个任务上下文,它是与任务相关的所有工件的集合。这些工件可以包括编辑过的方法、引用过的 API,以及浏览过的文档。Mylar 使用这个任务上下文使 Eclipse UI 聚焦于有趣的信息、隐藏无趣的信息并自动寻找相关信息。假如手边有了这些完成任务需要的信息,就会减少花在搜索、滚动及导航上的时间,从而提高效率。通过使任务上下文显式,Mylar 也便利了多任务的执行、计划、对过去的劳动成果的重用以及技术经验的分享。
随着时间的流逝,使用 Mylar 将会让您的工作方式发生微妙的根本性转变。当习惯于在以任务为中心的工作方式下工作时,您会像其他 Mylar 用户那样,经历工作效率的急剧提高。组织好工作、主动应付大量的 bug 报告以及跟踪改进将逐渐变得毫不费力(参见 参考资料 中 Mylar 用户的反馈)。