About a week ago, we published an article looking at the (mostly forgotten) 2k+ TODO comments in the Kubernetes codebase. We chose to look at Kubernetes because of its high profile and “high scale” as a large, open-source project. What we found was interesting, but probably not all that surprising.
Big projects have lots of TODOs, and those TODOs are mostly forgotten. This is likely fairly intuitive to most software developers out there. We’ve all been guilty of the “chuck it over the fence” mentality of leaving TODO comments, and we’ve probably all encountered ones left by others. A discussion on Slashdot shows a decent diversity of opinion among developers regarding how they should be used, and what they represent. Are they tech debt? A normal part of software development? Basically a ticket? Less important than a ticket? A bad habit? A good way to convey information?
What we can agree on, is that TODOs are common; across languages, project types and software developers. Looking at an arbitrary selection of ~100 Github repos (some big-name projects, some smaller ones), we found almost 35k total TODO items.
The TODO Browser
The site uses
tickgit to do much of the heavy lifting, and we have a number of ideas for additional features and next steps (including support for private repos). Check out the ProductHunt page for more info!
We’re really excited about making this tool useful for any software developer (regardless of your opinion on what a TODO comment should mean), whether working on a large open-source project or a small internal one, and we really hope this app is able to provide some level of value! Please let us know how it can be improved and made to better suit your particular use cases. Any feedback is immensely appreciated!