服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 开发工具 > 查看文档

用mylar进行以任务为中心的编程

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 用户的反馈)。

    图 1 显示了工作中的 mylar 的一些任务管理及上下文管理功能,编号为:(1)有一个活动任务的 mylar task list,以及计划在今天处理的分配好的 bugzilla 报告;(2)引入的注释和过期的任务;(3)由任务上下文管理的更改集合;(4)有离线支持的富任务编辑器;(5)eclipse 的 package explorer 上的以任务为中心的模式。


图 1. mylar 的 task list 和 focused ui

 

    接下来的部分中,将在 eclipse 平台上设置并安装 mylar,并介绍其使用频率最高的任务管理功能。在对 mylar 任务管理工具的全貌有所了解后,将更加深入地理解它是如何影响日常工作过程的。

 

支持的任务库

    在本文中,使用 mylar 的 bugzilla connector 以突出任务库集成中的主要概念。当使用其他支持的任务库时,这些概念是一样的。表 1 显示了由 mylar 0.7 支持的任务库及其集成程度。当使用如 bugzilla 等完全集成的连接器时,可以完全依赖 mylar 同该库一起工作。当使用只支持查询的连接器时,可以从该库中保存并计划任务,并用 eclipse 内嵌的 web 浏览器对其进行编辑。如果 mylar 尚不支持您的任务库,仍可以用它完成本地任务及与 web 浏览器集成(例如,通过将 url 拖到 task list 来自动地创建链接任务)。然而,连接器的集成越是复杂,效率就越高,所以如果您的任务库还不被 mylar 所支持,那么就投票选择一下吧(参见 参考资料)。

    表 1 的功能注释富编辑 提供了集成编辑功能,如拖放附件。离线支持 无需在打开任务时等候慢吞吞的库,且允许离线工作。集成更改通知 允许将 task list 作为收件箱使用,而不用依赖于电子邮件客户机。


表 1. 支持的任务库(mylar 0.7)
连接器 查询 富编辑 离线支持 更改通知
bugzilla * * * *
trac * * *
jira * *

    通用 web 库连接器(generic web repository connector)也为 google code hosting(code.google.com)、issuezilla(java.net, dev2dev, tigris.org)、gforge(objectweb.org)、sourceforge(sf.net)、jira、trac、phpbb 及 vbulletinhe 提供了基本查询支持。参见 参考资料,以了解更多。

安装及设置

    mylar 所做的一切都是关于如何减少信息过载。为达到此目的,它的关键设计目标之一是将 eclipse 现有的 ui 工具无缝集成到一起。另一项目标是让您只安装及使用需要的功能。例如,如果您的角色是进行 bug 筛选而不是开发,可以安装 mylar 的 task list 而不安装 focused ui,并为问题跟踪器单独挑选连接器。如果您是一名软件开发人员,很可能两个功能都要安装。本系列的第 1 部分涵盖了 task list,在第 2 部分将介绍 focused ui。


图 2. 选定 mylar 功能及库连接器

    要为 eclipse 版本安装 mylar,可以使用 eclipse 软件更新机制:help > software updates > search for new features to install。更新 eclipse 时,最好使用这个机制而不是 search for updates,该机制通常不会执行正确的依赖项查找。如果使用的是 eclipse 3.2,请添加 download.eclipse.org/technology/mylar/update-site/e3.2 更新站点并选定图 2 所示功能。如果使用的是 eclipse 3.1 或 3.3,请参照 mylar 下载页面中的正确更新站点(参见 参考资料)。

    提示:mylar 构建在 java 5 之上,所以如果使用 jdk 1.4 或更早的版本,mylar 将不会运行。通过 help > about eclipse sdk > configuration details 检查您的 eclipse 版本所使用的是哪个版本的 jre。关于安装中的故障处理,请参照 mylar faq(参见 参考资料)。

    假设安装了 focused ui,在重新启动 eclipe 前,将看到一个关于设置推荐的选项的弹出式向导。该向导会提示打开上下文管理性能,该性能能被打开或关闭,正如向导页所给出的那样。我将在第 2 部分中介绍 mylar 的上下文管理功能,所以请选中这些选项,因为日后可以进行修改。现在,直接看一下 task list 视图,如图 3 所示:


图 3. 安装后自动出现的优先选项设置向导
 

 

使用任务和库

mylar 以其对两种任务的支持拓展了 eclipse。

  • 个人任务被存储至本地 eclipse 工作空间,并提供基本任务管理功能,如计划安排。
  • 共享的库任务被存储至服务器,并提供协作特性,如注释线程及文件附件。

    这一部分展示了如何创建并编辑个人任务,并探讨了操作库任务时可用的各种功能。请注意下面描述的功能是否可用取决于连接器的 集成程度,所以只需参照适合您的情况。不考虑集成程度,可以使用 mylar 的所有任务管理功能,这将在 任务管理及个人计划 部分中探讨。

创建个人任务

    安装了 mylar 后,使用 task list 视图(如图 4 所示)上的工具栏按钮创建一个新任务,并填充其描述。创建本地任务的另一种方式是将文本或 url 从 web 浏览器中拖至 task list。新任务的描述会根据相应 web 页面的标题自动填充。操作很简单,在 firefox 中,只需一个常规的拖曳;在 internet explorer 中,只需在拖曳时按住 ctrl。双击 task list 中的任务,打开任务编辑器,可以用该编辑器创建注释并按某个特定日期对任务进行安排。默认情况下,新创建的任务将按照其创建日期进行安排。可以使用任务注释来存储相关信息、粘贴超链接或创建粒度细微的要做的事情的条目。也可以创建任务分类将相关任务保存到一起。


图 4. 编辑个人任务

添加任务库

    共享的库任务和个人任务类似,只是前者存储在服务器上,如 bugzilla。库任务包括由用户填写的 bug 报告和计划要完成的新功能,以及涉及到协作的任何其他工作单元。库任务和个人任务使用同一个 planning 选项卡来保存注释及个人计划。

    可以通过打开 task repositories 视图(window > show view > mylar > task repositories)并使用该视图的工具栏添加新库来创建一个任务库。然后可以输入一些关于库的细节或从一些可用模板中选定一个。图 5 中显示的 bugs.eclipse.org 库是在安装 mylar 时自动创建的,以使报告 mylar 和 eclipse 的 bug 及特性请求变得简单:


图 5. 添加 eclipse.org bugzilla 库

 

查询库

    一旦添加了任务库,就可以通过 task list 的弹出菜单中的 new query 菜单项创建查询来访问该库中的任务。例如,我也许会编写一个查询来访问分发到我的电子邮件地址的所有 bugzilla 报告,如图 6 所示:


图 6. 创建新的 bugzilla 查询

    设置好参数并单击 finish,查询分类就被命中的内容所填充,如图 6 所示。打开一个命中的结果,就会检索其内容并将其转换为任务,这意味着当编辑该任务时,会出现个人 planning 选项卡。要更改查询的参数,可以重新打开它(通过双击 task list 中的查询)并编辑选中的值。

    mylar 的 web 集成用您所习惯的 web ui 的形式提供了完美的灵活性。可以右键单击任何任务或查询,用 web 浏览器来打开它(eclipse 浏览器的设置在 window > preferences > general > web browser 内),任何库任务都有一个 browser 选项卡。也可以用浏览器打开一个查询,在其中使用 bugzilla web ui 对其进行改进,然后在 new query 向导的提示下,从生成的 url(通过粘贴)在 task list 中创建一个新查询。

搜索任务

    搜索任务和创建查询类似,但并不在 task list 中存储结果。使用 ctrl+h 或 search 菜单(search > task search),选定库,输入搜索条件,并单击 search。打开 search 视图,允许打开与搜索相匹配的任务,如图 7 所示。要改进搜索,简单地再次打开 search 对话框,之前的搜索条件会恢复。请注意在 task list 中匹配项和任务图标已经一起显示了出来。(参见 参考资料 中的 mylar 文档,获取 mylar 图形设计的图例。)


图 7. 搜索查询和结果

创建任务和重复探测

    要创建一个新的共享的库任务,请使用 task list 工具栏中的动作或 file > new 菜单,如果有多个库,选定其中一个库,然后为任务选定一个产品。开启一个新编辑器来填写细节。与平台及 os 等相关的属性被自动选定。

提示:一个捷径是,可以右键单击查询节点,该节点根据查询自动选定库和产品。

    也许要创建的另一种任务是为 mylar 或您使用的另一种基于 eclipse 的工具创建 bug 报告。添加bugs.eclipse.org 库和自动 bug 报告的动作(可以从 eclipse 的 error log 视图中访问)使 bug 报告变得简单。如果看到想要报告的错误事件,右键单击它并选择 report as bug。new repository task 编辑器将打开并包含所有相关信息,比如堆栈踪迹信息。

    由于通过单击来报告 bug 的这种形式可能会潜在地导致大量重复的 bug 编档,mylar 为此提供了自动重复探测。search for duplicates 按钮使用在报告的 description 中自动插入或手动粘贴的堆栈踪迹的来查询相应的库以获得任何潜在的重复。重复探测的结果显示在 search 视图中,如图 8 所示。如果找到一个匹配项,可以打开它并做出注释,而不必创建一个新的 bug 报告。


图 8. 集成的错误报告和重复探测

 

编辑和同步

    打开一个任务时,将会注意到编辑器上的 bugzilla 和 planning 选项卡。库任务提供所有个人任务的功能,但也允许直接编辑存储于库中的信息。当查看对 bug 的注释时,可以使用 outline 视图进行导航,到其他 bug 报告的引用和 java 堆栈踪迹元素均被做成了超链接。(参见 图 9)。


图 9. bugzilla 及通知弹出的库任务编辑器

    如果连接器支持离线编辑,mylar 会为打开的任何任务保留了一份缓存副本,并当相应的查询或任务同步时更新这份副本。可以通过按住 ctrl+s,在本地保存更改,这将导致该任务上具有一个向外的 箭头(也如 图 9 所示)。准备好提交该任务时,单击编辑器底部的 submit to repository

    如果有人更改了库中的任务,例如添加了新注释,会有一个弹出框指示该更改,该任务将同一个向内的 箭头一起显示。如果本地副本和服务器副本都更改了,会显示一个红色的冲突箭头,并提示您解决该冲突。

     如果一个任务之前被打开过,再次打开它将打开一个离线副本,并立即对任务的背景同步进行初始化。这确保了在开始阅读及操作一项任务前不必等待对服务器的来回访问。确保任务在离线工作前已经同步是一个好主意,因为这样可以在未连接到服务器时就可以进行查看及编辑。

    提示:由于 mylar 的背景同步,可以不再依赖电子邮件通知就能在 bugzilla 中掌握 bug 报告的改变。所需做的仅仅是设置用以获取所有感兴趣的任务(例如,复制的每份报告)的查询,同时,也会收到不会使收件箱过载的向内的箭头形式的通知。通过单击 window > preferences > mylar > tasks 设置同步计划。请注意,可以通过右键单击树中的节点并选择 synchronize 来手动同步查询及任务。

附件

    可以通过单击任务编辑器 attachment 部分的 add... 按钮来为库任务添加附件。也可以将文件或文本从工作空间或从窗口管理器拖至编辑器的 attachment 部分。添加附件触发了一个向导,允许选择附件是从 clipboard 内容中创建,从计算机上的文件中创建,还是从 eclipse 工作空间中创建。attachment 表允许用 web 浏览器或编辑器打开附件,并通过上下文菜单执行特定的行为,如保存或复制到剪贴板。

 

任务管理及个人计划

对许多开发人员来说,在任何给定的工作周中,要跟踪及安排的任务包括:

  • 正在着手处理的产品要解决的缺陷及功能。
  • 与您合作或您所指导或管理的同事所完成的任务。
  • 所使用的框架、api 和软件的 bug 报告。
  • 个人要完成的事项和剩下的事。

    需要将所有的任务集成到一个单一的视图中使它们便于管理,因为只需看一个地方就知道下一步该做什么了。为进一步便利任务管理,mylar 收录了公认的任务管理的最佳实践,如安排任务和任务延期,以及 xp 风格的开发的立即性和适应性的特点。mylar 的任务管理工具让您能够轻松适应一周当中不断更新的需求,而不会丢掉对长期优先事件的跟踪。除了能够让您将每个星期都控制在自己手上,mylar 还通过使共享库属性(如里程碑及优先级)易于掌握来帮您将团队实践集成到一起,所有这些都不必离开 eclipse。

关于查询配置的建议

为支持各种组织的风格,mylar 的 task list 在如何设置并使用分类及查询方面非常灵活。例如,如果您的团队对于管理反复和用里程碑标记每个 bugzilla 报告方面非常小心,那么可以设置和里程碑相应的查询并使用它们来追踪您的或您团队的进展。下面是基于我在 mylar 开发团队的经验提出的一些进一步的建议:

  • 为分配给您的任务设置单个查询。如果有明确的产品边界或组件边界,可以将这个查询拆分成多个查询。为完成此任务可以使用 go into 动作(可以在每个查询的上下文菜单中找到),从而只看到该产品的任务。由于基于兴趣的排序根据下一步要完成的任务来排列查询中元素,所以我更喜欢为所有分配给我的任务设置单个查询。

  • 为所有报告过的、注释过的或复制过的 bug 设置另一个查询。对每个所需的库都这样做。这样能够确保您收到关于所感兴趣的每份报告的更改的通知。我现在全都依靠这个,且在本文写作时,我的文件夹里已经有超过九百封正要被过滤的未读过的 bugzilla 通知邮件。

  • 如果您在指导、管理他人或与人合作编程,请为分配给每个人的任务设置一个查询。例如,我为每个经常为 mylar 做贡献的贡献者都设置了一个查询,以便对正在进行的讨论做出及时的响应。

  • 如果要筛选 bug,请为收件箱帐户单独设置一个查询,这样就能够监控发送进来的报告。

    接下来的部分探讨如何使 mylar 成为单个的任务列表及收件箱,以管理所有与工作周相关的任务。

聚焦工作周

    既然 mylar 使创建及共享任务变得如此简单,那么看起来似乎一使用 mylar,task list 很快就会被几打或可能是几百项任务填满而溢出。具有讽刺意味的是,mylar 似乎要为信息过载负责,是它将所有信息都装在了 task list 中。事实上,这正是发生在最早采用 mylar 的用户身上的事。我的 task list 目前承载了超过二千四百条条目,其中七百条尚未完成。好消息是,用于聚集 eclipse 视图的相同的工具(如 package explorer)也为 task list 服务。mylar 为安排任务和任务延期提供了最有效的工具,它使用此信息使 task list 只集中展示与工作周相关的任务。可以通过 planning 编辑器或上下文菜单将新创建的任务安排到创建日来完成,并可以快速地将它们延后到稍后的时间或日期。

    任务一旦到期,任务及其容器(例如,一个查询)就会变成红色,且桌面上会出现一个弹出窗口,以防 eclipse 窗口不可见。如要用其他 mylar 颜色及字体设置,可以通过单击 windows > preferences > general > appearance > colors and fonts 设置任务的首选项。由 window > mylar > tasks > scheduling 设置的工作日的开始时间,决定了当任务要延期到将来某一天的话,所要延期到的具体的小时。而对工作日结束时间的更改则决定了安排给当日的任务到具体的那个小时过期。

    mylar 任务管理模型的关键是基于兴趣的排序和过滤,这可以通过 task list 工具栏上的 focus on workweek 动作来激活。其中,基于兴趣的排序和过滤确保了只显示安排在给定的某个星期的任务。如图 10 所示,任务被进一步地高亮显示和分类以助于快速确认下一步的任务,如下所示:

  • 过期的任务是红色的并总在列表顶部。
  • 安排到今日的任务以蓝色显示。
  • 安排给本周接下来几天的任务显示为黑色。
  • 今日完成的任务显示为绿色。

    完成的任务将不再显示在查询中,但仍显示在 archive 中,archive 里包含了所有曾处理过的任务。有更改和注释的任务一直都会显示出来,这样就可以将 task list 当作收件箱来使用。


图 10. 安排任务

 

某天

    通过简单地安排并延后任务,且将视图限制到给某个给定星期安排的任务,mylar 提供了一种整体的优先级处理。为使当前的工作日变得明确,mylar 将当日安排的所有任务突出为蓝色。由于在 focused 模式下工作时,很不希望看到滚动条,所以 task list 是展开的,您一直都能知道下一步要做什么。

设想一下使用 mylar 管理的典型工作周中的流程:

  • 一周开始时,任务列表中包含了大量的之前安排的或推迟到本周完成的红色任务。在 junit 中,红色可不是一个使人开心的颜色。

  • 使用上下文菜单来安排今天或本周后几天的每项任务。一旦所有的红色都处理掉了(变为蓝色的是计划给今天的任务,变为黑色的是计划延后到本周后几天的任务),就可以根据需要来考查该周的计划安排以验证任务是现实的任务、延后的任务或是委托代办的任务。

  • 在工作日结束时,那些本应该完成但却未完成的任务变成红色,那些当天已经完成的任务会变成绿色。在 junit 中,绿色是一个使人开心的颜色。

  • 在第二天开始时,当天安排的所有任务都是蓝色的,且过期的任务显示为红色。当估量工作日时,也许会将一些任务延后到这周的后几天完成,这样,可视的蓝色任务代表了那天能够实现的全部任务。任务完成后,它们会变成绿色。当临近周末时,滚动条应该从 task list 中消失。

  • 周末时,滚动条应该消失,且列表中大部分的任务应该变为绿色。

过滤及搜索

    除了自动化的工具,mylar 还包含了手动排序及过滤工具,如图 11 所描述的那样。这些工具具有不得不再三拖拽各种过滤器和排序器这种常见的麻烦,但当计划和组织时它们很有用。请注意当 focus on workweek 处于活动状态时,手动过滤和排序设置被存储了起来。

  1. 通过在列上单击对列进行排序,比如按优先级排序。
  2. 通过使用视图中的下拉菜单的优先级来过滤。
  3. 通过视图菜单过滤所有完成的任务。
  4. 通过单击 go into(在 focused 模式下也可运行)来过滤特定分类或查询中的任务。
  5. 使用拖放对任务进行手动排序;按类别排序库任务。


图 11. 手动 task list 过滤

    可以通过 move to category 上下文菜单或通过选择上下文菜单中的 remove from category 来移动任务。除非将任务从上下文菜单中显式地删除,否则任务将不会消失,即使从查询中消失或从其分类中被删除。可以在 archive 容器中找到删除的任务,当使用列表顶部的 find 栏时容器将显示出匹配项。

    task list 顶部的 find 栏是搜索存储于档案文件中或其他地方的旧任务的好地方。单击其右边的 clear 按钮或按住 esc 键恢复之前可视的任务。archive 容器还能用于查看之前已经解决的、加过注释的任务,因为通常创建查询的方式并不包含已解决的任务。

备份及导入

    越是使用以任务为中心的工作方式,task list 就越是有价值。默认情况下允许自动备份 task list,可以通过单击 window > preferences > mylar > tasks 来设置备份目录。要从备份中恢复,请选择相应的单选钮并选择一份备份快照。默认情况下,mylar 快照了每日所有的任务数据,并保留了三十天的备份(通过 preferences > tasks 配置)。可以通过单击 file > export 导出任务。

    提示:当在多个工作空间下工作时,可以通过单击 window > preferences > mylar > tasks 将任务数据目录设置至共享位置,而不是使用 import 来获取任务。请注意如果将这一位置放到网络驱动器下,它应当通过一个快速的连接来访问,因为它将被频繁访问。

总结

    在这个使用 mylar 的指南的上半部分中,介绍了 mylar 的任务管理工具。文中展示了这些工具如何将基于 web 的问题跟踪器(如 bugzilla)无缝地集成到 eclipse 中以及如何支持个人任务管理。文中也展示了由 mylar 管理的典型的工作周或工作日的概述,并介绍了如何管理 task list。

    task list 视图提供了从中管理所有工作的一个单一的空间,而不管您感兴趣的任务库有多少。这使得您可以长时间地工作于 eclipse ,在 eclipse 下您的效率极高,而不用总要转换到外部的浏览器窗口中。这也意味着您可以享受使用基于 web 的问题跟踪器的丰富客户端体验(如拖放附件和离线支持)。

    使用 mylar 的最佳部分即将开始。一旦在工作中明确了任务,mylar 就开始自动管理任务的上下文。本文的第 2 部分介绍了 mylar 的上下文管理工具,并介绍了这些工具如何减少信息过载,以及如何使执行多任务变得像单击一下那么简单。

 

参考资料

学习


获得产品和技术


讨论

关于作者

mik 热衷于构建一些使工作更易于专注且更高效的工具。作为 xerox parc 的一名研究科学家,他创建了第一个面向方面的编程工具,且继续参与 eclipse.org/aspectj 项目。在不列颠哥伦比亚大学攻读博士期间,他创建了以任务为中心的交互技术,他也是 eclipse.org/mylar 项目的领导者。

扫描关注微信公众号