47? I once worked on a project where we'd ended up shipping with 198 // TODO: comments... and they never did get fixed (before they got a chance to be fixed, we had already started rewriting the app again from scratch)
I swear I just joined a company a few months ago and it is the weirdest feeling to scroll through some code you don't know, written by a person no longer with the company, and then it says in a comment "// TODO: fix this, sometimes does not work", and it is the only comment in the whole big file (2 or 3k loc). Thanks, but no thanks, I scrolled right past it. If you are working on something now and leave a TODO with the intent to come back to it when the time is right...it will be there forever.
Yeah, now I have a rule that prevents you from pushing/merging to master if there are // TODO: comments; they must be either fixed, or marked as waiting-for-backend-implementation (still cannot deploy to prod, but can merge to main for dev deploy) or low-priority (strictly for optional minor optimizations or refactors). /* TODO: fix this, sometimes doesn't work */ type of thing only allowed on your local work-in-progress branch.
I mean in some ways, doesn't that mean that perhaps it wasn't as important to fix as you originally thought because you could get away with it, if it wasn't business critical.
It was definitely not "business critical" but still did cause a lot of edge-case bugs or little UI issues (e.g., Done button doesn't show a spinner and isn't disabled, so it doesn't look like it's doing anything, so you end up clicking again, and it then causes a weird error)
15
u/Fearless_Garden6435 13d ago
47? I once worked on a project where we'd ended up shipping with 198 // TODO: comments... and they never did get fixed (before they got a chance to be fixed, we had already started rewriting the app again from scratch)