TODO and FIXME

Just a suggestion–feel free to ignore me–but a convention I’ve seen used successfully elsewhere is to allow TODO comments in code committed to the trunk, but require that all FIXME comments be addressed before code is committed. Thus code on the head only ever has TODO comments.

For those of us with day jobs, this allows us to spread our development work across multiple days–we can leave breadcrumbs for ourselves of what still needs to be tied up using FIXME comments, comforted by the knowledge that all those must be addressed before it’s committed to trunk.

I’ve found this to be quite handy. But if we were to adopt this, then a number of existing FIXME tags in the head would need to get demoted to TODO.

This might be asking too much, but another convention I’ve found useful is after a FIXME or TODO, include your initials so we know who wrote the comment. You could even take it one step further, with codes for different types of todos (OPT for optimize, REF for refactor, TEST for this code needs to be tested etc.)

-K

Thus spake fil512:

Just a suggestion–feel free to ignore me–but a convention I’ve seen
used successfully elsewhere is to allow TODO comments in code committed
to the trunk, but require that all FIXME comments be addressed before
code is committed. Thus code on the head only ever has TODO comments.

For those of us with day jobs, this allows us to spread our development
work across multiple days–we can leave breadcrumbs for ourselves of
what still needs to be tied up using FIXME comments, comforted by the
knowledge that all those must be addressed before it’s committed to
trunk.

I’ve found this to be quite handy. But if we were to adopt this, then a
number of existing FIXME tags in the head would need to get demoted to
TODO.

This might be asking too much, but another convention I’ve found useful
is after a FIXME or TODO, include your initials so we know who wrote the
comment. You could even take it one step further, with codes for
different types of todos (OPT for optimize, REF for refactor, TEST for
this code needs to be tested etc.)

I have used FIXME to indicate things which are broken, but which I don’t
intend to fix right now. I use TODO to indicate things which should be done
eventually, but which aren’t broken. The problem I see with your proposal
is that everything which I now label as FIXME would be labeled as TODO
instead, so the distinction between the two would be lost.

Presently, the trunk has 345 FIXMEs and 41 TODOs. I think it’s not realistic
to fix all of the FIXMEs before we next commit to the trunk.

Also, I thought that XXX was usually used to indicate things that have to be
fixed before commiting to the trunk.


J.