# TODO and FIXME

**URL:** <https://forum.vassalengine.org/t/todo-and-fixme/3274>\
**Category:** Development\
**Created:** [September 15, 2010, 1:59pm UTC](https://forum.vassalengine.org/t/todo-and-fixme/3274 "2010-09-15T13:59:27Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![fil512](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/fil512/32/2661_2.png) [@fil512](https://forum.vassalengine.org/u/fil512)\
**Post date:** [September 15, 2010, 1:59pm UTC](https://forum.vassalengine.org/t/todo-and-fixme/3274/1 "2010-09-15T13:59:27Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![uckelman](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/uckelman/32/10020_2.png) [@uckelman](https://forum.vassalengine.org/u/uckelman)\
**Post date:** [September 19, 2010, 1:47pm UTC](https://forum.vassalengine.org/t/todo-and-fixme/3274/2 "2010-09-19T13:47:30Z")

</div>

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.
