I’m ill and having difficulty concentrating. Somehow writing documentation came to mind. There’s no way I could write new code in my current state, but I’d be just fine with documentation.
What do I mean by “documentation”?
Documentation can include external resources (e.g. Read the Docs) but even that will be dependent on the smallest unit of documentation: the comment. Hopefully some of these comments will be docstrings. Other forms include a README or a tutorial explaining basic usage.
Documentation in all forms is written to answer a few basic questions that a person reading/using code might have: what can this do, how does it do that, and what options does it have?
What’s so great about documentation?
- Documentation is purely descriptive (i.e. no creative thinking)
- Documentation can be worked on in very small chunks (what this one function does, or what this one parameters affects, etc.)
- Documentation has a very linear progress: spend more time, get more done
I look forward to writing documentation after my code finally works. I get to revisit all my successful code in a structured manner, and make it more usable for other people. I especially enjoy the “linear progress” aspect, since actual coding (like any creative work) is quite non-linear. Coding for an hour doesn’t guarantee that anything useful will be written during that hour, but writing documentation for an hour means that something will be written by the end.
So yeah, I like writing documentation. Maybe if more people enjoyed documenting their code, we’d have better documentation for everyone to use.