> the value of using a broader selection of terms is that you (and therefore all the other programmers you’re collaborating with), are able to be more descriptive about what it is precisely that you need “to do.”
But that's what the space after `TODO:` is for. To say what it is you need to do later.
The less complexity you add, the less you have to maintain. This mainly applies to things of a certain smaller scale, but I find I encounter `TODO` in my code when I am in a certain scope or just have some free time to refactor, fix things, etc., neither of which require anything beyond a searchable string, as you mentioned.
This reminds me of any note taking app that uses #tags. You start in earnest and tag things; you end up with twelve different tags for #cooking, #baking, #food, #recipes, etc. because you forgot which one was which when organizing; it falls into disarray; you are left with unusable cruft, so you end up just searching for "bread" in the search bar, anyway.
Edit: Really, in a zettel flow, you’re supposed to capture notes as fleeting thoughts that are processed and synthesized later into long form writing.
Each note should initially have few links (if any) until you’ve ruminated and expanded on that note in your own words. These are usually called literature notes in zettel workflows.
TODO-BUG TODO-OPTIMIZE TODO-FEATURE
// TODO: Optimize this function
// TODO: Finish implementing this feature
I also label comments with BUG, NOTE and HACK, but not for unfinished items on a todo list.
Which other subcategories do you use?
Todo-incomplete Todo-refactor
Some others I imagine?
Every benefit you listed is legit, yet not even the sum of them can compensate for the loss of fidelity and lack of human scalability which results from using 'TODO' for everything. Anyone competent enough to edit code can handle holding 'seven plus or minus two' types of comment tags in their head. Those who can't (or, more often, who can't be bothered to) aren't suffering from impostor syndrome. They might actually simply be impostors.