56

我是那些没有待办事项清单就无法完成任何事情的人之一。如果它不在列表中,则它不存在。

记事本方法:

当我编程时,我一直在打开记事本并列出我当前项目的待办事项列表。我会不断地根据优先级重新安排这些,当我完成该特定任务时,我会将它们划掉并将它们移动到已完成的部分。

代码注释:

一些程序员在他们的项目源代码中添加:

// TODO: Fix this completely atrocious code before anyone sees it

另外,我知道有一些工具也可以显示代码中所有 TODO 的列表。

网站任务跟踪器:

您发现跟踪多个项目的待办事项列表的最佳方法是什么?

4

33 回答 33

34

像其他人一样,我在他们的代码中添加了一些信息,但我也使用警告指令来生成编译器警告:

#warning TODO: Implement foobar

这样我仍然可以搜索“TODO”,但他们也会在我构建时对我大喊大叫。

于 2009-02-10T09:35:46.530 回答
26

笔和纸。

结合天才的PocketMod,它是完美的。引人注目的 TODO 非常令人满意!

于 2009-02-10T09:34:58.453 回答
14

我不能代表其他 IDE,但Eclipse将在您的项目的源文件中搜索TODO注释(以及默认情况下)FIXMEXXX在任务视图中为您创建任务。

这会导致您检查任务视图、双击TODO任务并阅读评论的有趣情况:

// TODO: Add this functionality.

Eclipse 还会TODO在生成某些代码块时添加注释,例如方法实现、异常捕获块等。

于 2009-02-10T09:31:05.280 回答
9

安装了 Visual Studio 和ReSharper的TODO(和其他)注释非常有用:

待办事项浏览器
(来源:jetbrains.com

于 2009-02-10T09:30:10.133 回答
8

虽然我没有尝试过,但我真的很喜欢将测试作为 todos的想法。如果不是失败的测试,还有什么能让你继续前进?

于 2009-02-10T09:37:15.717 回答
5

个人抽象待办事项

我使用Tomboy Notes或纸来快速列出抽象的高级任务。通常,当我与经理通电话时,我只需要把事情写下来。

源代码特定待办事项

我在代码中使用内联 TODO:/@todo 注释标记,然后使用 Netbeans 插件,它为我提供了整个项目中运行的待办事项列表。由于 Netbeans 可以聚合来自多个项目的待办事项标记,因此我正在运行多少个不同的项目并没有什么区别。

多人任务/待办事项

一旦我需要跟踪比我自己更多的 todos,我会转向项目管理软件,如 OpenProj、MS Project 等。此外,如果 todos 涉及错误或功能请求,我会使用我们的 bugtracker。其他待办事项也可以由帮助台系统管理。

于 2009-02-10T10:10:10.723 回答
5

NextAction , 来自 TimeSnapper

于 2009-02-10T11:35:58.637 回答
4

我用笔和纸来记笔记。我还在代码中使用了 TODO/FIXME 标签,这些标签在 Vim 中以黄色突出显示,并由 Komodo 中的 TODO 扩展跟踪。

对我来说最有用的补充之一是使用 Samurize 将纯文本文件嵌入到我的桌面(http://lifehacker.com/software/plain-text/geek-to-live--incorporate-text-files-onto -your-desktop-213280.php)。我有 3 个虚拟桌面,它存在于我的电子邮件桌面上,这是我每天早上做的第一件事。它包含一个包含我需要做的项目的文本文件,而且它很少提前一周运行。

2009 年 2 月 11日星期三
- 第 1
项 - 第 2 项 2009 年 2月 12
日星期四
- 第 3 项

我使用具有关键字“todo”的 Executor,当我想编辑/添加/删除项目时,它会自动打开带有此文件的 gvim。这使它大约需要 3 次击键才能打开并准备好修改。它可以帮助我记住星期一早上的生产活动,然后再埋头于电子邮件和会议中。一旦我编辑,它就会反映在桌面上。

显然,对于更长更详细的事情,我依靠 Roundup、Outlook 提醒等,但这是一种方便的方式来记下事情,这样他们就不会在洗牌中迷失方向。

于 2009-02-10T16:41:52.177 回答
4

我使用AbstractSpoon 的ToDoList。它使您可以将待办事项列表划分为项目,甚至可以由多个用户使用共享网络驱动器用于更大的项目。

于 2009-02-10T09:47:15.193 回答
4

对于项目中的每一项任务,我都会在问题跟踪器中创建一个新条目(对我来说是Bugzilla)。

  • 一个很大的优势是您可以跟踪问题 ID 所做的每一个更改。
  • 您可以向客户或项目成员报告您的任务状态。
  • 您可以创建一个新的错误类型,如“任务”、“待办事项”或“功能请求”。
  • 这是一个中心解决方案。没有本地的东西...

我们的开发团队有一条规则说:“不要在问题跟踪器中没有相应条目的情况下更改任何代码。永远不要!”

于 2009-02-10T09:49:09.433 回答
3

我使用内联 TODO:注释,因为 Visual Studio 会为我跟踪这些,当然我仍然需要查看任务列表才能看到它们。我无法计算找到 TODO 的次数:在查看我认为已完成的一些代码时发表评论。

于 2009-02-10T09:31:00.787 回答
3

我会明确区分 FIXME 和 TODO。FIXME 很关键,必须在提交/发布之前修复。TODO 可以存活一段时间,但最终应该被清除掉。

于 2009-02-10T13:07:55.157 回答
3

项目 cvs/svn 区域顶层的简单纯文本文件 (TODO) 对我来说适用于简单项目。

于 2009-02-10T13:09:54.997 回答
2

就像其他人提到的,我在我的代码注释中使用标准的 FIXME/TODO/XXX,然后可以使用他们的各种工具在我的 IDE 中找到任务列表。我还使用hudson 的任务扫描器插件来跟踪所有内容,因为我很喜欢图表。

于 2009-02-10T09:33:24.743 回答
2

我创建了一个构建任务,它从我的代码文件中挑选出 //TODO: 行并生成我包含在团队城市中的报告。它使您无需检查即可快速查看项目中的任何未完成项目。

您还可以将CodeTagsPluginTrac一起使用

于 2009-02-10T11:26:28.083 回答
1

哇,我昨天刚问了这个问题。经过一番搜索,我选择了ReminderFox Firefox 扩展。它完全集成到浏览器中,并在每次打开浏览器时提醒您任务到期。

于 2009-02-10T16:32:45.990 回答
1

我非常喜欢Mylyn:集成到 Eclipse 中,可以与许多跟踪器一起使用,也可以不使用(本地任务),并实现了新概念,例如专注的 UI。

于 2009-02-11T16:19:19.260 回答
1

还有适用于 Hudson 的 Task Scanner Plugin(如果它适合您的环境)。有了它,您可以在持续集成构建报告中跟踪 TODO/FIXME 的数量。

于 2009-02-12T10:08:59.653 回答
1

在 Eclipse 中编程 Java 时,我发现它非常有用,正如您所说的“用注释给我的源代码添加// TODO:注释 - 主要是因为 Eclipse 会查找项目中的每一个并为我编译一个任务列表 =) 在 Visual Studio 中,有一个任务列表面板,我有时会使用它,但我发现它不像 Eclipse 中的注释那样精简。

于 2009-02-10T09:31:14.873 回答
1

我使用 Eclipse 作为 IDE,它将所有 TODO 收集到一个列表中并在大纲中显示它。非常简单易用。

于 2009-02-10T09:31:54.933 回答
1

我使用 emacs org-mode不仅可以跟踪代码 TODO,还可以跟踪我的整个生活。它还具有一些电子表格和日历功能,是一个非常强大的大纲工具。我使用 mercurial 进行轻量级版本处理和不同机器之间的简单复制。

它的效果出奇的好。

于 2009-02-10T09:37:24.560 回答
1

alt text http://www.86th.org/hudson.jpg 我们使用 Hudson 中的“Open Tasks Trend”功能,它适用于多种语言。对于我们的 C# 项目,我们有 3 个级别的任务,这是通过不同的 TODO:样式注释来完成的。

  • FIXME:、HARDCODED: 或 HACK: 上的高优先级匹配

  • TODO 上的中等优先级匹配:

  • MEH 上的低优先级 匹配:或 CODEREVIEW:

然后,Hudson 将获取此列表并绘制趋势图,如图所示,并有一个可排序、可过滤的任务列表,它将在网页上显示带有链接的消息,这些链接将带您直接进入哈德逊的源代码。

另外,我们可以使用 CODEREVIEW 轻松设置代码审查的兴趣点:并有一个简洁的列表可以打印出来。

于 2009-02-17T15:18:28.890 回答
1

在对合适的“待办事项列表”应用程序进行了广泛搜索后,我选择了 mylyn——Eclipse 随附的应用程序。

创建和管理任务很容易。可以导入任务并将其链接到 Bugzilla 或许多其他不同的任务存储库。它还有一个“任务上下文”,可以突出显示与任务相关的文件,并隐藏那些不相关的文件(这比我预期的要有用得多)。

于 2009-02-10T11:36:33.877 回答
1

Eclipse 会自动跟踪您的 TODO 并在适当的窗口中列出它们。如果您不需要高级功能,我发现它足够强大。

于 2009-02-10T12:37:29.130 回答
1

我很喜欢曲目。它具有GTD的味道,但又不会过于拘谨。

我可以在我想到的时候快速地把东西打进去,然后不用担心之后会忘记。

于 2009-02-10T12:59:18.157 回答
1

对于 C++ 项目(本机/ATL):

#ifndef _TODO_H_
#define _TODO_H_
#pragma once

// from atldef.h:
#ifndef _ATL_STRINGIZE
#define __ATL_STRINGIZE(_Value) #_Value
#define _ATL_STRINGIZE(_Value) __ATL_STRINGIZE(_Value)
#endif

// put x in quotes, no need to use #pragma!
#define __TODO(x)           __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : TODO: "x)) 
#define __WTF(x)            __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : WTF?! "x)) 
// prefer to use ISO-formatted date
#define __BUGFIX(date, x)   __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : BUGFIX: "#date" "x)) 
#define __CHANGE(date, x)   __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : CHANGE: "#date" "x)) 

#endif _TODO_H_

为 C# 寻找类似的东西。

于 2012-06-04T07:50:14.290 回答
1

我现在使用 Sandglaz 并将我的待办事项放在 3 列中,下一个和以后(有点像他们的博客,但只有一行)......而且它使用起来简单快捷。我是一名自由职业者,所以我一次从事多个项目,所以它对我有用

我只使用挂起的测试来提醒自己编写测试。我使用 Rspec,所以它可以构建它。

于 2011-08-13T18:24:02.967 回答
0

OmniFocus - 我尝试了很多跟踪 ToDo 的方法,这是迄今为止最好的。如果你有一台 Mac,这就是你要走的路。iPhone应用程序也很棒。

于 2009-02-10T16:25:47.130 回答
0

doxygen 可以跟踪此类问题

于 2009-02-10T09:29:44.750 回答
0

我们的源代码模块之一绝对是内联#pragma todo行。构建输出被污染了,所以我们永远无法真正判断何时有任何新的编译器警告。一些待办事项已经存在多年,而最初的开发人员早已离开公司。

于 2009-02-10T09:36:12.223 回答
0

如果您使用 continouis 集成,它可以为您完成工作。例如,我将 hudson 与这个插件http://wiki.hudson-ci.org/display/HUDSON/Task+Scanner+Plugin一起使用,这是非常好的 imo。您有一个图表,显示在构建之间是否添加了新任务,您可以浏览它们或旧任务以了解“打开”的内容。

于 2009-03-18T15:55:44.340 回答
0

当我有很多待办事项时,我发现跟踪它们是没有用的。你最终会得到数百个无法完成的待办事项。

只写你被问到的(老板),做每天带来最大利益的事情。

然而,我有一个下一个列表。我在顶部写了我目前正在做的事情以及我需要修复以完成它的事情。我的下一个清单通常可以在几小时或几天内完成。

于 2009-02-10T09:53:07.440 回答
-1

对于小型项目,我使用来自我的 SCM 的提交评论。这些评论看起来像这样:

MyProjectName:完成了这个,修复了那个。杀手级功能将被实施。另一个功能已编码但尚未测试。应该重构这个模块。

于 2009-02-10T09:46:40.467 回答