Pulpcode

捕获,搅碎,拼接,吞咽

0%

2014年终技术总结之使用GTD

工作相比于在学校会更加复杂,因为在学校你可以去上自习,可以学习学校的知识,也可以自由支配去图书馆或者在机房泡一下午。但是工作中则以处理任务和自我提升为主。

但是这个任务并不类似于“老师布置你作业让你做完”这么简单。

这种任务带有很高的决策性,比如突然来了许多任务,你要如何安排自己的时间。比如处理优先级。

而且可能还会带来很多隐性任务,比如你被外派到某个部门开发系统,具体操作时,琐事要比这个复杂。一方面,你要让自己领导知道进度,还要与这里的领导协调,还要与具体的使用此系统的人员沟通。

关键是这些事物越来越多,会让你产生混乱焦虑,你会变得无从下手。如果有GTD,就可以把握进度,分配时间处理。还可以不停的给自己反馈,增加自信,这类似于使用TDD编程。

就算是完完全全去做一件事,你的脑海中也会迸发出一些东西,可能是让你烦的事,或者是一个不错的点子。将这些事情用GTD管理起来很有必要,否则它可能无时无刻的干扰着你的思维。

包括在具体的项目中提升自己,这一点是很困难的。因为不像在学校,如果是老师考什么学什么教什么,那么这种收益是很快的。但是如果是在具体工作中,你做的提升动作也许就是费力不讨好。而且也不会有人给你讲一些细节的东西,因为你并没有教学费。这其中的自我反馈就很重要了,比如以前有一段时间,我感觉工作很多很繁重,之后我重构了代码,重新讨论了需求之后,开发效率明显快了许多。所以不进行自我反馈,你永远都不知道自己为什么这么累。

提到以上这些,就是为了说明,在工作中使用GTD是很有必要的。

GTD进化

TODO

其实在上大学的时候,我就使用过类似的东西,ToDoList,只不过那个时候,基本就是把自己想要做的事情,做个List,或者有个什么不错的点子。

看上去像是这样:

下午去图书馆借几本书
买一个杯子
学习有关设计模式的知识

但这充其量只能算个备忘录。而且大多数任务都被拖延症打败了。

使用GTD

在工作后我就开始使用GTD了,GTD不仅仅是一个工具,也是你思维的一部分。

我主要用GTD来处理这样几种情况。

  1. 有些事情你可能不需要马上做,但是你害怕过一会就会忘记。
  2. 即使是马上要做的任务,你也无法马上去做,因为你需要分析,有哪些隐性任务,并规划自己该怎么来完成。
  3. 作为一个技术人员,在code的时候,如果遇到一些技术上的盲点,那么就需要将这个盲点先记录下来,先处理手头紧要的任务,以后再去学习。
  4. 并发出来的想法。无论是在生活中,还是在工作中,都可能会并发出一些创意或者点子。无论这些点子将来是否值钱,先将它们记下来,以后再去加工处理。
  5. 规划进度,规划自己的项目应该怎么去实施。
  6. 不仅仅是工作,我在生活中想要干某件事的时候,也会用GTD来规划,比如我用业余时间搭建自己的博客,就是用GTD来规划的。甚至是写一篇博客,我也会先用GTD进行规划一些想法,自己打算写哪些话,我给这样的GTD起了个逼格高的名字:孵化器

要记住,使用GTD是为了让你的思路清晰,因为你的思路常常会被各种好的,坏的琐事打扰。

使用emacs

我是使用emacs来写GTD,也许有更好的工具,但是我是用emacs用惯了。

emacs的org模式写GTD,写出来就像是一颗树,可以用快捷键展开折叠。

精简

“在短一点,在细一点” -- 孙悟空

在很长一段时间,我纠结于如何对GTD分类,对每一个条目进行打标签,后来在使用的次数多了,我进行了精简,去掉不必要的繁琐分类标签,让它们为我工作。

真实片段

下面我将每个具体实列的GTD部分截取出来。

规划项目进度。

注意,我就是将材料和下一步行动分开了。

* 材料
** TODO 加入控制器启发思维
** TODO 除了公文管理,其它人员本身并不能对自己的模块进行创建和删除
** TODO 为了降低耦合,不要怕重复判断。
** TODO 我是否要记录自己的测试用例,这些被记录的用例有什么用?
** 其它模型都不能显示创建者字段
* 下一步行动
** DONE 实现初期框架
** DONE 定义四个角色
*** DONE 公文管理员
*** DONE 公文批示员
*** DONE 公文接收员
*** DONE 公文审批员
** 添加状态
** 建立公文管理员Action框架
** 在SVN上建立代码库

我的博客孵化器

可以说,我的博客,就是在这个孵化器中慢慢成长的。

* Blog
** DONE 我应该将我购买的域名挂到自己的网站上
   CLOSED: [2014-09-11 Thu 13:30]
** DONE 翻译相关内容
   CLOSED: [2014-09-11 Thu 13:30]
** 博客风格设计
*** 文章格式:
**** 小标题 ####
**** category: work-log,practice-code,program-language,program-tools,study-note,movie-game-and-comic,life,amusement,
*** TODO 让博客能够支持响应式设计,使得使用手机的微信用户能够看自己博客的文章。
** 将我csdn中比较好的blog移动到自己的博客上。
*** DONE 服务器推送技术 2013-06-02
    CLOSED: [2014-09-06 周六 19:54]
**** 非工作日志类blog,要有配图。去Flickr找图片。
**** 中秋节前,准备开始让博客上线。
*** 博客写作
**** TODO 想象力不等于创造力

生活中的规划

** DONE 带着母亲看一场3D电影
** TODO  买一件帽衫
** TODO 请雷泽宇吃饭

小创意

** DONE 在微信上给好友们写有意思的备注,并发送到朋友圈上
** DONE 最后让他们给我写备注
** TODO 找几个妹子评价我的博客,然他们给我建议
** TODO 在OA中加入生日提醒的功能
** TODO 写一个插件,能个定时自动发说说

技术盲点

* TODO 如果我要保证在开发新能够的时候,也能确保修改上线需求,那么我要如何使用SVN?
* TODO c# 的 partial 关键字是什么意思?
* 在save的时候,一些对象的oid还会是负值,应该如何去解决?

这里推荐一本书:《尽管去做-无压工作的艺术》