3 ms·
I used to be pro-TODO, I find myself today firmly in the no-TODO camp. I work daily on a large, mature code-base, littered with cryptic TODOs left by developer
by jwiley 7y ago
I used to be pro-TODO, I find myself today firmly in the no-TODO camp.
I work daily on a large, mature code-base, littered with cryptic TODOs left by developers long-gone. They are generally as useful as street-signs in a ghost town.
TODO: clean this up
toDo: validate once ARF-211 is closed
todo remove
TODO factor
TODO: lol, hae to enable in production for some reason
TODO- will this scale? logarithmic?
If I dive into the commit logs, I can try and sus out why they were there, whether they can be removed or acted on. Generally other devs don't touch them out of superstition, they are probably there for a reason, someone else understands them, and they will eventually be useful.
Clearly, better team agreements, discipline, strict code reviews etc could have prevented this or made them more useful, but that ship had sailed before I arrived, and given the pace of maintenance and new feature development I am sure these TODOs will remain for quite some time...monuments to earlier days and priorities that are long gone.
- lucideer 7y agoYour anecdotes are familiar and I completely agree with some of your observations on the limitations of TODOs, but I don't see any reason to be anti- As far as I can gather, you've described TODOs being useless but harmless
- badloginagain 7y agoI've seen this situation as well. A mature codebase where many of the original authors are gone, with many new devs still getting up to speed. You run into the problem where these todos never get touched because you don't know which are the loadbearing hacks, and tumbling down the rabbit holes won't help you get up to speed. The only real way to combat this is to dedicate a small team to just start ripping things out/upgrading things/etc. The only way to clear a minefield is to blow up all the mines....
- techolic 7y agoI understand your point, and I'm probably overreacting, but words like 'pro-TODO', 'no-TODO camp' makes the topic more binary than it deserves, and to some extent urges people to pick sides when it's really not necessary - we're all here to learn something, not to point fingers.