Dec 27, 2019

TODO or not TODO


Kubernetes is a massive open source undertaking, with more than 86K commits, 2.4K contributors, and 5.2M total lines of code.

But how much of Kubernetes’ code is written to manage tasks for its developers?

The creators of tickgit, a tool to manage tickets and checklists within codebases, analyzed the Kubernetes codebase to learn more about how developers use comments and annotations to maintain their code.

So much TODO. The analysis reveals the challenges of juggling and tracking these marked tasks within code.

According to the analysis, there are currently 2,380 TODOs—more than the the number of open GitHub issues—across 1,230 files in the Kubernetes repository.

Most are orphans: only 19% of those TODOs had been assigned to a particular contributor.

Moreover, many TODOs are completely ignored or forgotten. The average age of existing TODOs in the Kubernetes codebase is 2.3 years, while the oldest TODO dates back to 2014.

Why does it matter? How developers manage their workflows is increasingly fractured across many different tools—like tickets, documentation, issue trackers, code comments, and more. Proliferating and abandoned TODOs are a symptom of the growing challenges in task management facing development teams.

As a result, there is a budding ecosystem of tools hoping to simplify these workflows.

Code editor plugins—like Todo Tree and Todo Highlight—can compile and surface TODOs in code. Documentation generators—like Swagger and JSDoc—create wikis from code comments. Automations can find and synchronize TODOs across teams or link discussions to specific blocks of code.

The future. The current state of the Kubernetes repository shows there is much more progress to be made. New tools, however, promise to give developers better context for their tasks and greater control over how they manage them.

Want to get more of these in your inbox?

Subscribe for weekly updates from the Software team.