新ThoughtWorker开发的头两件事

标签: thoughtworker 开发 | 发表时间:2011-04-25 22:58 | 作者:dreamhead seraph.liujb
出处:http://dreamhead.blogbus.com

回到自己的办公室,与新同事结对开发。我对他做了两件事,让他列出要做的任务,抢走了他的鼠标。这也是我要教给新ThoughtWorker头两件事:分解任务和快捷操作。

分解任务,是一个好的工作习惯。把自己要做的事情一件一件的列出来,然后一件一件的做。Kent Beck在《测试驱动开发》中,为我们展示的就是这种工作方式。他称自己为拥有好习惯的程序员,这便是其中之一。

我之前很少这么做,总觉得我的脑子可以处理一切,但经常会出现,一件事并没有想清楚就开始动手,做着做着不知道自己该往哪走了,也有经常性的发散,走着走着忘了自己的目标。通过分解任务,我在动手之前,我就知道自己要做的有哪些事,然后一件一件解决,保证了自己的专一。一旦大脑发散,我会提醒自己在任务列表中增加一项,而不会影响继续工作在当前任务上。

任务要分解到什么程度呢?分解到心里有数。对于老手来说,可能就是要做的东西,对于新手而言,就要更细致一些,包括一些问题的解决方案。这样,新手即便一个人做,也不会走偏。

学会扔掉鼠标吧!写程序不会快捷键,在ThoughtWorks会被人嘲笑的,因为在你慢腾腾的在菜单里寻找重构选项的时候,我已经完成了这一切,开始解决下一个问题了。

第一次看一些ThoughtWorker用IntelliJ IDEA写Java程序,我惊呆了,平静的表面下,内心翻腾,惊讶于神乎其技。所以,我只能偷偷下功夫,以免让人嘲笑。后来,有人说,你写得太快了,我假装平静的说,这没什么。其实,我知道,和许多人比起来,我还是慢很多。

和别人结对的时候,我故意把pair的鼠标扔到一边,如果他需要做什么操作,我会告诉他快捷键是什么,做几次下来,快捷操作也就成了一种下意识的动作。IntelliJ IDEA还有一个专门的插件,叫Key Promoter,用来提示人快捷键是什么。

做好习惯的程序员,从分解任务和快捷操作开始。

相关 [thoughtworker 开发] 推荐:

新ThoughtWorker开发的头两件事

- seraph.liujb - 梦想风暴
回到自己的办公室,与新同事结对开发. 我对他做了两件事,让他列出要做的任务,抢走了他的鼠标. 这也是我要教给新ThoughtWorker头两件事:分解任务和快捷操作. 分解任务,是一个好的工作习惯. 把自己要做的事情一件一件的列出来,然后一件一件的做. Kent Beck在《测试驱动开发》中,为我们展示的就是这种工作方式.

Android开发Tips

- - CSDN博客推荐文章
欢迎Follow我的 GitHub, 关注我的 CSDN.. 介绍一些, 在Android开发中, 会经常使用的小知识点.. submodule与git可以保持实时同步. 导入, 路径多于一个, 前面不添加冒号(:).. 使用PackageManager.. // 检查App是否安装 private boolean appInstalledOrNot(String uri) {.

WPS for Linux 开发中

- Quantum - Wow! Ubuntu
据消息称,WPS for Linux 办公套件目前正在开发中,如图:. # 本文采用CC协议进行授权,转载本文请注明本文链接. - Twitter / 微博 / 问答 / 投稿 / 加入我们 wow0slx6bcs721xo1udcc. - 高性价比 Ubuntu VPS / 本站架设于 PhotonVPS / 定制 Ubuntu T-Shirt.

iOS开发资源

- - Starming星光社最新更新
iOS App UI 欣赏、分享精美的App界面设计. iOS代码实例搜索、iOS特效示例、iOS代码例子下载. 以web的形式提供iOS UI设计的素材,你可以在web上拖动一些控件做出简单的ios 应用效果,并且生成一个URL,能分享给其他人. 一款 Photoshop 插件,由 UI Parade 推出的一款针对iOS UI 的设计工具,设计师动动鼠标即可制作精美的 iOS 应用原型.

开发笔记(1)

- liuce.cn - 云风的 BLOG
折腾了好久,终于可以开始正式项目开发了. 之前的这段日子,我们陷落在公司的股权分配问题中,纠结于到底需要几个人到位才启动;更是反复讨论,到底应该做个怎样的游戏. 林林总总,终于,在已经到位的几位同学的摩拳擦掌中,叮当决定自己挂帅开始干了. 就这么不到十个人,空旷的办公室,跟我们起先想像的情况不太一样.

Jenkins的plugin开发

- - CSDN博客研发管理推荐文章
       Jenkins强大的功能主要靠其丰富的plugin体现,之前的一篇博客《 Jenkins安装plugin》中介绍了如何找到并安装需要的plugin. 虽然目前已经有大量非常优秀的plugin可供使用,但是有时候仍需要自己开发一些满足项目特殊要求的plugin. 下面通过一个简单实例,介绍Jenkins的plugin的整个开发过程.

kettle 开发总结

- - CSDN博客推荐文章
2.在用file exists 控件的时候,当用到“文本文件输入”时,文本文件中需要一定的格式,类似下图:. ;当然也可以已经创建了相应的表,然后直接按“确定”按钮就行,如果相应的表和输入的列数及列属性不一样时,也可以在sql按钮的语句中取修改. 在使用file exists时,输入也可以用表输入.

kafka开发实例

- - 互联网 - ITeye博客
//启动zookeeper server (用&是为了能退出命令行):. //启动kafka server: . 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

浅说Flux开发

- - 淡忘~浅思
前段时间,写了篇关于React的文件: React:组件的生命周期,比较详细的说了下React组件的生命周期. 说道 React,很容易可以联想到 Flux. 今天以 React 介绍及实践教程 一文中的demo为示例,简单说说 Flux 的开发方式. Flux 是 Facebook 用户建立客户端 Web 应用的前端架构, 它通过利用一个单向的数据流补充了 React 的组合视图组件.

Cppentry程序开发

- -
最近修改公司线上kafka集群配置然后直接kill掉进程来重启集群发现所有生产者都无法写入数据导致丢了数据,栽了一个大坑,接下来的工作肯定是补坑找原因,就分享一下. 系统环境说明:kafka版本为0.8.1.1,kafka集群配置为10.12.0.23:2181,10.12.0.24:2181,10.12.0.25:2181/kafka,因此在zookeeper中的根路径为:/kafka.