views:

1882

answers:

33

I'm one of those people who can't get anything done without a to-do list. If it isn't on the list it doesn't exist.

Notepad Method:

When I'm programming I've been keeping notepad open with a list of to-do's for my current project. I'll constantly re-arrange these based off priority and I cross them off and move them to the completed section when I'm finished with that particular task.

Code Comments:

Some programmers pepper their projects source code with:

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

Plus, I know that there are some tools that show you a list of all TODOs in your code as well.

Website Task Tracker:

What have you found to be the best method of keeping track of your to-do lists for multiple projects?


Related Question: What can someone do to get organized around here?
Related Question: Getting Organized; the to-do list.

A: 

doxygen can track such issues

soulmerge
+6  A: 
Anton Gogolev
Is it a resharper window ? or VS.NET ?
Canavar
This is ReSharper.
Anton Gogolev
Yes this feature is great, i am also using
Barbaros Alp
+3  A: 

I use inline TODO: comments as Visual Studio will track these for me, of course I still have to look at the task list to see them. I cannot count the number of times I have found a TODO: comments whilst reviewing some code I thought was complete.

Charlie
+8  A: 

I can't speak for other IDE's, but Eclipse will search your project's source files for TODO comments (as well as FIXME and XXX by default) and create tasks for you in the tasks view.

This leads to intriguing situations where you check the tasks view, double-click on a TODO task, and read the comment:

// TODO: Add this functionality.

Eclipse will also add TODO comments when generating certain code blocks, like method implementations, catch blocks for exceptions, etc.

David Grant
Any editor can search like that. And grep for multiple files.
Brian Carlton
+1  A: 

When programming Java in Eclipse, I find it really useful to, as you say "pepper my source code with // TODO: comments - mainly because Eclipse looks up each one in the project and compiles a task list for me =) In Visual Studio, there is a Task List panel, which I use sometimes, but I don't find it as streamlined as just having the comments in Eclipse.

Tomas Lycken
+1  A: 

I use eclipse as IDE, which collects all TODO's to a list and shows it in an outline. Very easy and usable.

Björn
+3  A: 

Here is a similar stackoverflow question with lots of answers.

rics
Thanks, added it to my post.
Simucal
+2  A: 

Like others have mentioned, I use the standard FIXME/TODO/XXX in my code comments, and then can find the list of tasks within my IDE using their various tools. I also use hudson's task scanner plugin to keep track of everything, since I'm a sucker for graphs.

Nik Reiman
+18  A: 

Pen and paper.

Combined with the genious PocketMod, it's totally perfect. Striking TODOs is soooo satisfying!

furtelwart
Wow thanks for the link to PocketMod!
Sean
Your'e welcome! :)
furtelwart
I've filled mine with sudoku grids :\
gridzbi
+8  A: 

Like others, I pepper them about my code, but I use the warning directive to generate a compiler warning too:

#warning TODO: Implement foobar

This way I can still search for "TODO" but they also shout at me whenever I build.

bruceboughton
+1 for an obscure bit of code that I didn't know you could do :)
Jagd
+1! Very useful.. will certainly be doing this for my TODOs.
Saajid Ismail
A: 

One of our source code modules is absolutely littered with inline #pragma todo lines. The build output is polluted so we never can really tell when there are any new compiler warnings. Some of the todos have been there for years and the original developer has long since left the company.

1800 INFORMATION
+3  A: 

Although I didn't try it I really like the idea of tests as todos. What else should get you going if not a failed test?

Ionuț G. Stan
A: 

I use emacs org-mode to keep track of not only code TODOs, but my whole life. It works as an extremely powerful outliner with some spreadsheet and calendar features as well. I use mercurial for lightweight version handling and simple replication between different machings.

It works surprisingly well.

fred-o
A: 

For small projects, I use commit comments from my SCM. These comments look something like this:

MyProjectName: Done this, fixed that. The killer feature is to be implemented. The other feature is coded but not yet tested. Should refactor this module.

mouviciel
+1  A: 

I use ToDoList from AbstractSpoon. It lets you divide your ToDo list into projects and can even be used by a number of users for larger projects using a shared network drive.

Swinders
+3  A: 

For every task in a project i create a new entry in the issue tracker (Bugzilla for me).

  • A big advantage is that you can track back every changes made by the issue ID.
  • You can report customers or project members the status of your task.
  • You can create a new bug type like "task", "todo" or "feature-request".
  • It's a central solution. No local stuff...

I our development team there is a rule which says: "Do never change any code without a corresponding entry in the issue tracker. Never!"

Alexander
A: 

When I have many many todos I discovered that it is useless to track them. You end up with hundreds of todos that can't be done.

Only write what you are asked (boss ) and do what bring the biggest benefits everyday.

I however have a next list. I wrote what I'm currently doing at the top and things I need to fix to complete it. My next list can be done in hours or days usually.

Emmanuel Caradec
Personally, I keep todo's, and have run into the same problem. Sometimes I wonder if I'd be better off just letting what stays in my memory determine it's importance ... what ever I forget, obviously wasn't that important. But I'm not sold on the idea, since I still keep lists.
John MacIntyre
+3  A: 

Personal Abstract Todos

I use Tomboy Notes or paper to make a quick list of abstract high level tasks. Often when I'm on the phone with my manager, I just need to get things written down.

Source Code Specfic Todos

I use the inline TODO: / @todo comment marker in my code and then use the Netbeans plugins that give me a running list of todos throughout the project. Since Netbeans can aggregate todo markers from multiple projects, it does not make a difference how many different projects I'm running.

Multiperson Tasks / Todos

Once I have to keep track of todos for more than myself, I move to project management software like OpenProj, MS Project, etc. Also, if the todos involve bugs or feature requests, I use our bugtracker. Other todos, can be manged by a helpdesk system as well.

Elijah
+2  A: 

I created a build task that picks out //TODO: lines from my code files and generates a report I include in team city. It gives you a quick way of see any outstandings on a project without having to check it out.

you can also use the CodeTagsPlugin with Trac

Scott Cowan
+4  A: 

NextAction, from TimeSnapper

philippe
+1  A: 

Having done an extensive search for a suitable "to do list" application I settled on mylyn - the one that comes supplied with Eclipse.

It is easy to create and manage tasks. Tasks can be imported and linked to Bugzilla or a number of other different task repositories. It also has a "task context" which enables files that are relevant to a task to be highlighted and those that are irrelevant to be hidden (which is far more useful than I anticipated it would be).

trilobite
+1  A: 

Eclipse tracks your TODO and list them in a proper windows automatically. I find it powerful enough if you don't need advanced features.

happy_emi
+1  A: 

I'm quite fond of tracks. It has the flavour of GTD without getting too regimented about it.

I can quickly whack stuff in there as I think of it, and then not have to worry about forgetting after that.

Evan
+1  A: 

What have you found to be the best method of keeping track of your to-do lists for multiple projects?

A wife. And I'm not kidding.

Martin Kool
+3  A: 

I would make a clear difference between FIXME and TODO. FIXME is a critical and must be fixed before commit/release. TODO can live a bit longer but should be cleaned away eventually.

Petteri Hietavirta
+3  A: 

A simple plain text file (TODO) in the top level of the project's cvs/svn area works for me for simple projects.

timday
A: 

OmniFocus - I've tried a lot of ways of tracking ToDos and this has been the best by far. If you've got a Mac this is the way to go. The iPhone app is great too.

Chris Upchurch
+1  A: 

Wow, I just had this question yesterday. After some searching, I settled on the ReminderFox Firefox extension. It's completely integrated into the browser and has pop ups to remind you every time you open your browser when a task is due.

ryeguy
+4  A: 

I use Pen and Paper to jot down notes. I also use TODO/FIXME tags in code that gets highlighted yellow in Vim and tracked by the TODO extension in Komodo.

One of the most useful additions for me has been using Samurize to embed a plain text file onto my desktop (http://lifehacker.com/software/plain-text/geek-to-live--incorporate-text-files-onto-your-desktop-213280.php). I have 3 virtual desktops and it lives on my email desktop which is where I wind up first thing every morning. It contains a text file with the items that I need to do and it rarely runs more than a week ahead.

Wednesday 2/11/2009
- Item 1
- Item 2
Thursday 2/12/2009
- Item 3

I use Executor that has a keyword "todo" that automatically opens gvim with this file when I want to edit/add/remove items. This makes it about 3 keystrokes to get it open and ready to modify. It helps me remember the Monday morning production moves before I get buried in email and meetings. As soon as I edit, it's reflected on the desktop.

Obviously for longer and more detailed things, I rely on Roundup, Outlook reminders, etc. but this has been a handy way to jot things down so they won't get lost in the shuffle.

chauncey
+1  A: 

I like Mylyn a lot: integrated into Eclipse, works with many trackers as well as without (local tasks) and realizes new concepts like the focused UI.

Fabian Steeg
+1  A: 

There is also Task Scanner Plugin for Hudson (in case it fits in your environment). With that you can track number of TODOs/FIXMEs on your continuous integration build reports.

Petteri Hietavirta
A: 
Allen
A: 

if you use continouis integration it could do the work for you. For example i use hudson with this plugin http://wiki.hudson-ci.org/display/HUDSON/Task+Scanner+Plugin which is pretty nice imo. You have a graph which shows you if new tasks have been added between builds, and you can walk through them or the old ones to get an overview whats "open".

kukudas