你如何跟踪你的编程TODO?

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

记事本方法:

当我正在编程时,我一直保持记事本打开与我目前的项目待办事项清单。 我会不断地重新安排这些基础优先,当我完成这个特定的任务时,我把它们交给他们,并把他们移到完成的部分。

代码说明:

一些程序员用他们的项目源代码胡椒粉:

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

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

网站任务跟踪器:

  • 记住牛奶
  • 背包
  • Manymoon
  • Voo2do
  • Gmail任务
  • TeuxDeux
  • TodoDodo
  • 塔达列表 …等等

你发现什么是跟踪多个项目的待办事项清单的最佳方法?

像其他人一样,我把他们关于我的代码胡椒,但我也使用警告指令生成一个编译器警告:

 #warning TODO: Implement foobar 

这样我仍然可以search“TODO”,但是当我build立时,他们也会大声吼叫。

笔和纸。

结合古怪的PocketMod ,它是完全完美的。 引人注目的TODO是如此令人满意!

我不能说其他的IDE,但是Eclipse会search项目的源文件以获得TODO注释(默认情况下为FIXMEXXX ),并在任务视图中为您创build任务。

这会导致您检查任务视图,双击TODO任务,并阅读注释的有趣的情况:

 // TODO: Add this functionality. 

Eclipse还会在生成某些代码块时添加TODO注释,例如方法实现,exception的catch块等。

TODO (和其他)评论是伟大的Visual Studio和ReSharper安装:

待办资源pipe理器http://www.jetbrains.com/resharper/features/screenshots/40/navigation_todoexplorer.png

虽然我没有尝试,但我真的很喜欢testing的想法作为待办事项 。 如果不是一个失败的testing,还有什么应该让你去?

来自TimeSnapper的Ne​​xtAction

个人抽象Todos

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

源代码Specfic Todos

我在代码中使用了内联TODO:/ @todo注释标记,然后使用Netbeans插件给我提供了整个项目中的待办事项列表。 由于Netbeans可以汇总来自多个项目的待办事项标记,所以我运行多less个不同的项目并没有什么不同。

多人任务/ Todos

一旦我必须跟踪更多的事情,我就会转向诸如OpenProj,MS Project等项目pipe理软件。另外,如果TODO涉及错误或function请求,我使用我们的错误跟踪器。 其他待办事项,也可以通过帮助台系统进行pipe理。

我使用AbstractSpoon的ToDoList 。 它使您可以将“待办事项”列表划分为多个项目,甚至可以由多个用户使用共享networking驱动器来使用大型项目​​。

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

对我来说最有用的补充之一就是使用Samurize在我的桌面上embedded一个纯文本文件( http://lifehacker.com/software/plain-text/geek-to-live–incorporate-text-files-onto -your-desktop-213280.php )。 我有3个虚拟桌面,它位于我的电子邮件桌面上,这是我每天早上收到的第一个东西。 它包含一个文本文件,其中包含我需要执行的项目,它很less运行超过一周。

星期三2/11/2009
– 第1项
– 第2项
星期四2/12/2009
– 第3项

我使用具有关键字“待办事项”的执行程序,当我想编辑/添加/删除项目时,会自动用此文件打开gvim。 这使得大约3个按键打开并准备修改。 这有助于我记住星期一早上的制作动作,然后再将其埋在电子邮件和会议中。 只要我编辑,它反映在桌面上。

显然,对于更长和更详细的东西,我依靠综合报道,Outlook提醒等,但这是一个方便的方式记下事情,所以他们不会迷失在洗牌。

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

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

  • 一个很大的好处是你可以追踪由问题ID所做的每一个变化。
  • 您可以向客户或项目成员报告任务的状态。
  • 您可以创build一个新的错误types,如“任务”,“待办事项”或“function请求”。
  • 这是一个中央解决scheme。 没有当地的东西…

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

我会明确区别FIXME和TODO。 FIXME是一个关键,必须在提交/释放之前修复。 TODO可以活一会儿,但最终应该清理干净。

项目的cvs / svn区域顶层的一个简单的纯文本文件(TODO)适用于简单的项目。

和其他人一样,我在代码注释中使用了标准的FIXME / TODO / XXX,然后可以使用各种工具在IDE中查找任务列表。 我也使用哈德森的任务扫描器插件来跟踪一切,因为我是一个graphics的吸盘。

我创build了一个构build任务,从我的代码文件中挑选// TODO:行,并生成一个包含在团队城市中的报告。 它使您能够快速查看项目的任何排位,而无需查看。

你也可以使用CodeTagsPlugin和Trac

在Eclipse中对Java进行编程时,我发现它非常有用,正如你所说的“用我的源代码// TODO:注释 – 主要是因为Eclipse查找项目中的每一个并为我编译任务列表=)在Visual Studio中,有一个任务列表面板,我有时使用,但是我不觉得它只是在Eclipse中有评论。

我使用Eclipse作为IDE,它将所有TODO收集到一个列表中,并以轮廓显示。 非常容易和可用。

在完成了一个合适的“待办事项列表”应用程序的广泛search之后,我决定使用Eclipse提供的mylyn。

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

Eclipse会跟踪您的TODO,并自动将其列在适当的窗口中。 如果您不需要高级function,我觉得它足够强大。

我很喜欢曲目 。 它具有GTD的味道,而不会太过于严格 。

我可以很快地把那些东西打在里面,然后就不用担心忘记了。

哇,我昨天刚刚有这个问题。 经过一番search之后,我决定使用ReminderFox Firefox扩展。 它完全集成到浏览器中,并且在任务到期时每次打开浏览器时popup窗口提醒您。

我非常喜欢Mylyn :集成到Eclipse中,与许多跟踪器一起工作,也没有(本地任务),实现了像聚焦的用户界面一样的新概念。

还有哈德森的任务扫描器插件(如果它适合你的环境)。 有了这个,你可以跟踪持续集成构build报告中的TODO / FIXME的数量。

替代文字http://www.86th.org/hudson.jpg我们使用哈德森的“开放任务趋势”function,这适用于一些语言。; 对于我们的C#项目,我们有3个级别的任务,这是通过不同的TODO:样式注释完成的。

  • 高优先级与FIXME相匹配:,HARDCODED:或HACK:

  • 中等优先与TODO相匹配:

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

哈德森将采取这张图表和趋势图,如图所示,以及有一个可sorting的,可过滤的任务列表,它会显示在网页上的消息与链接,将带你到行哈德森的源代码。

另外,我们可以使用CODEREVIEW轻松设置代码评论的兴趣点:并且有一个很好的简明列表来打印出来。

我使用Sandglaz,把我的待办事项列为现在,现在,将来(有点像他们的博客 ,但只有一行),而且它的使用方便快捷。 我是一名自由职业者,所以我一次在几个项目上工作,所以对我很有用

我使用待定testing只是为了提醒自己写testing。 我使用Rspec,所以它build立它。

对于C ++项目(native / 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#的东西。

doxygen可以跟踪这样的问题

我们的一个源代码模块绝对是内嵌#pragma todo行。 编译输出被污染,所以我们永远无法确定什么时候有新的编译器警告。 一些待办事项已经存在多年,最初的开发者早已离开公司。

我使用emacs 组织模式来跟踪代码TODO,但我的整个生活。 它作为一个非常强大的轮廓与一些电子表格和日历function。 我使用mercurial进行轻量级版本处理,并在不同的机器之间进行简单的复制。

它的工作出奇的好。

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

只写出你被问到的问题(老板),并且做每天最大的好处。

我有一个下一个列表。 我写了我目前正在做的事情,我需要解决的事情来完成它。 我的下一个列表通常可以在几个小时或几天内完成。