I do web app development and bash scripting and I usually work on several projects at once in different contexts and languages and often return to a project after a few months absence.
When I return to a project there are always fragments of code that are incomplete and I have trouble "re-familiarising" myself with what I was doing and what I was trying to acheive.
I use version control and can look at the history, but that only gives a backward look at what happened in the past.
Regarding outright breaking code
I use version control "topic" branches to isolate any code that outright breaks functionality, Im more struggling with trying to understand the state of affairs of the little bits of incomplete, but "non-breaking" work.
Does anyone have any suggestions on how I might manage these items in a "forward looking" way? , possibly along the lines of
- commenting out code
- have the code run an alert - in the app - to say I need to be finished
- write unit test definitions which explains what you are trying to achieve - even if the unit test wont be written till later