背景介绍
一张贴纸,上面有人名和电话号码,如果加上三个字“请回电”,那么这就是 todo 列表了。在公司,如果你不幸坐在电话旁边,不幸接线生又是你,不幸被叫又玩失踪,那么给被叫留张条,等他回来看到咱留的条,属于丫的一项 todo 就开始了。
自由软件开发者对 todo 列表肯定不感到陌生。自由软件通常会有一个 todo 文件,里面记录的,都是软件作者对软件下一个版本的改善期望。不仅是作者给自己的记录,也是作者给其他潜在开发者,传递自己的开发计划。
把下一个阶段将要做的事(自己要做的事,以及和自己相关的事)记录下来,就是我们这里讲的 todo(列表、文件)。
日常工作中,像软件开发中的功能实现、障害修复、用例测试、文档整理、事项确认等等,琐碎的事、重要的事、紧急的事、临时的事互相交织,脑细胞压力很大。为了减少脑细胞的非正常死亡,事务入栈出栈的工作就交给 todo 吧。
需求点滴
- 命令行方式操作
- 添加、删除、查询、编辑等
- 支持 mutt
- 添加一封邮件为 todo
- 根据 todo 定位到邮件
- 纯文本方式记录
- 记录的自然编号,非uuid
- 支持分组
- 按项目分组
- 分组自定义
- 支持父子依赖
- 满足个人对管理的简单理解,支持
- todo: 记录
- done: 已完成的记录
- doing: 正在执行的记录
- issue: 突发问题的记录
- name: 其他人的标识
- cycle: 周期性的记录
- 提醒功能
- 事务的计时
效果说明
- 从上往下看,02一直到04开头的,表示已经被记录的但是还没有行动的 todo。
- 紫色的16和14的(I)ssue,表示这两个 todo 是实施其他 todo 时产生的突发问题。
- 其中的 note:foo,表示有一个备注文档与之对应。
执行一个命令,可以在当前终端打开 vim 编辑该备注文档。 - 其中的 by:8、by:10,表示这个突发问题阻塞了相应编号的 todo。
一旦创建一个突发问题,与该突发问题有关的 todo 会成为 (B) 状态。
一旦完成某个突发问题,被该突发问题阻塞了的 todo 会成为 (F) 状态。
- 其中的 note:foo,表示有一个备注文档与之对应。
- 蓝色的12(F)ixed,表示曾经有过突发问题,但突发问题已经解决。
- 下面的11(C)ycle,表示这是一项周期性的 todo。
- 橘黄的08和10的(B)lock,表示这两个 todo 产生了突发问题。
- 其中的 @xxx,表示其他人,自定义内容
- 其中的 +xxx,表示项目分组
- 绿色的三行(A)ction,表示这是当前正在实施的 todo。
- 最后一行的(星),表示这是一项提醒任务。
- 其中的 Message-ID:xxx,表示有一封邮件与之对应。
执行一个命令,可以在当前终端打开 mutt 并定位到该邮件。
- 其中的 Message-ID:xxx,表示有一封邮件与之对应。