Skip to content

Reducing the Cognitive Load with TODOs

I've recently found myself working on some bigger projects requiring large code refactors. For personal household tasks I've been using the Apple Reminders app to keep track of what needs done when (even writing this blog post had to become a reminder for it to actually get done 😂).

A big reason I like using a reminders list to keep track of things, is that it lets me have the following workflow:

  1. Remember I have to do something (usually this happens while I'm already doing something else)
  2. Create a reminder with a set day and time (I've found the time to be rather important)
  3. Completely forget about what needs done until my reminder app tells me

The biggest benefit of this workflow is it helps me not get distracted by "side missions" and helps me focus on the task at hand.

Using this workflow while programming

I've always been skeptical of using # TODO comments (syntax from Python), but man has using them been an absolute game changer. While working on bigger projects, I've found it's easy for my brain to jump to the next thing I should be working on and get distracted from the piece of code I'm currently working on.

Using a simple # TODO helps my brain temporarily mark the next thing as "complete", but it still forces me to make sure it's done since it's now in the code (and will be visible on the PR).

A bonus benefit: LLMs seem to work well with the extra guidance of TODO comments. I've found the LLM seems to stay more on track and generally give better suggestions than when there are no guiding comments.

Conclusion

TLDR: Having a way to "brain dump" future tasks in a place that will surface them when appropriate is a much better solution than just trusting your brain to remember what needs done when.

If you've made it this far thanks for reading this! I truly appreciate it. I hope to get more consistent at blogging on this site in the coming months (I wonder how many other people have said that 😂). Subscribe to the RSS feed if you're interested! Also follow me at https://bsky.app/profile/lazarust.bsky.social!