The Linux codebase has over 3k TODO comments, many from over a decade ago
In my opinion, any comment prefixed by TODO, XXX, or the like should not survive past the review stage. Either fix the problem immediately or accept that it&#x27;s going to be wonky forever.<p>Edit:<p>Amending here to avoid replying to ten different threads individually.<p>1. Long-term improvements should be managed by a ticket tracking system. The code is not the correct place to manage that.<p>2. Most of the disagreements below seem to come down to nomenclature differences.<p>In my own work, the code is liberally sprinkled with &quot;Note:&quot;s. These are, as others have pointed out, useful for providing context of what is going on, why, how it is non-optimal, etc.<p>TODOs that I come across tend to be of the &quot;You ain&#x27;t gonna need it&quot; variety. If you can get a pull through review as-is, then the thing wasn&#x27;t actually a &quot;TODO&quot;, and if it was, then it should be added as a ticket to the backlog.<p>XXXs tend to show up in the reviews I do as code that is explicitly meant to be fixed before the pull is merged.<p>So to summarize:<p>1. &quot;Note:&quot;s in code are great.<p>2. &quot;XXX&quot; shouldn&#x27;t survive the review<p>3. &quot;TODO&quot; should be handled by the ticketing backlog to better separate out &quot;actually needed&quot; from &quot;theoretically nice, but not necessary in practice&quot;.<p>Further, things that are &quot;TODO&quot; today often make zero sense as &quot;TODO&quot; in a year when the code has grown and evolved more, but since someone put it in as a TODO, I find that they rarely ever get removed since &quot;surely someone knows what that means&quot; (but that person is usually either gone or no longer remembers).