2 Witty Ways to Be More Efficient: !!! And ???

I have a system that I like to use *everywhere* when I need to keep track about what I need to do. I mark in text “!!!” or “???” to show what I need to do, and where I was processing. I use this system in reports, writings, code, notes – everywhere.

“Todo” is “!!!”
“!!!” is used as “todo” – it shows a place where something is not finished or needs to done better. I might have a portion of code where I’ve commented “!!!” and put a brief text about what needs to be done. For example, I might have “!!!” in player movement code and text telling “this needs to be done more smooth”. Or, I might have been writing a text and have “!!!” somewhere saying “!!! here we need more information about customers”.

Whenever I need to check out what needs to be done (in whatever context) I can search for “!!!” and find easily the places that need checking. I also use todo list, but I’ve found this way to be quite nice as well. Sometimes it’s easy to make “little notes” in the code rather than update the todo list.

“Where I was” is “???”
Whenever I’m in the middle of something, and get interrupted or I’m taking a short break, I tend to put “???” in the document. I try to avoid interruptions as much as possible, but it’s not always possible to avoid them. At those times, I could use “???” to show me where I was progressing in the code or document. It’s quick way to remember yourself what you were doing. Naturally I erase the marks as I get back to work, so in theory there should be maximum of only one “???” – no simultaneous – in the documents ever.

I’m sure there’s lots of automated products than can handle this type of way, but the good thing with “!!!” and “???” is that they work in any software. If you are making presentations or writing documents or anything, you can use these.

Naturally you need to check out the document for “!!!” and “???” before publishing it…

Juuso Hietalahti


  1. @Jake Birkett: Yes, probably every developer has stumbled on this technique sooner or later ;) and the only differences are the character sequences used ;) I used to place marks ??? in places which I would to find easily next time. But since my code editors accept //TODO or //FIXME comments and automagically manages that lists, and uses bookmarks, I prefer to use that new automation ;)

  2. When I put some quick hacks into my code, e.g. keyboard input stuff or something, that is only for testing purposes and will be refactored later, I put a // DIRTY!!! over those lines. So I’m also able to scan through the files to find this tag quickly ;)

  3. My IDE recognizes //TODO, and shows all todo’s in a list.
    Of course, the trick here is to check and fix all todo’s every once and a while! :)

  4. personally I like to use ### to hilight specific subjects in texts that needs special attention. because they are more visually identifiable.

Comments are closed.