NOTE: Description of how the code works (when it isn't self evident).
XXX: Warning about possible pitfalls, can be used as
HACK: Not very well written or malformed code to circumvent a problem/bug. Should be used as
FIXME: This works, sort of, but it could be done better. (usually code written in a hurry that needs rewriting).
BUG: There is a problem here.
TODO: No problem, but additional code needs to be written, usually when you are skipping something.
At least this is how I was taught about these tags. Basically the first two (
XXX) are used for information and no action is required. While the last three (
TODO) do require action.
HACK is somewhere in between (and hardly ever used I think?).