[soft question] todo list / rust work flow?

TLDR: When working on large Rust projects, how do you keep yourself in flow / have a system for keeping track what to work on next.

My general work flow goes something like this:

  1. If I have a compiler error, great! I click on the error, IntelliJ/IDEA jumps to the correct line, I fix it, and re “cargo check.” [This happens very often.]

  2. If I have a failed assert! in a unit test, great! I jump to the corresponding error, try to figure out what’s wrong, and go from there. [Unfortunately, this doesn’t work as well for Rust/Wasm32.]

  3. The place I get stuck / lose concentration / get very little done – is when there are neither compiler nor runtime errors – and I need to figure out what to add next.

  4. How do you keep track of what to work on when there is neither compiler nor runtime error?

== Things that I have tried (but don’t work as well) ==

  1. Pen + Paper todo list.

  2. Web based todo lists, trello boards, …

  3. Adding "// TODO’’ in source files (IntelliJ will collect these into an applet you can click on).

I use a mixture of informal in-code TODOs/FIXMEs for quick reminders (things to be fixed in the next few hours/days) and a GTD-inspired workflow implemented on top of Asana for longer-term planning (which handles all the things I need to do, not just code).

I tried Kanban workflows (as encouraged by Trello) before, but found them to scale poorly to large number of tasks. The methodology designers’ assumption that it is possible to limit the number of tasks in flight to compensate this does not match my experience.

2 Likes

I always immediately add // TODO or // XXX comments when I notice a place where things could be better or something is missing. Later I collect those which aren’t actually tied to a specific code location into a TODO file, or issues if the project is already in some hosted repo.

2 Likes

Interesting insight. I realized that for Kanban board intermediate “stage cards”, what I really want is not FLAT LISTS, but instead COLLAPSABLE NESTED TREES — but I never recognized that the underlying cause was that they wanted me to stuff everything into 5-10 item slots.