Remix.run Logo
godelski 5 days ago

  > documentation is that it inevitably goes stale.
Of course! Just like the code itself.

There's two helpful and minimal mitigating strategies here

  1) dating/versioning
     Provides hints that they might be stale if we can identify if they're old. Easy to diff a function between versions when something seems wrong

  2) In code documentation (e.g. docstrings)
    While not as good as a manual, it's not too difficult to write docstrings *while* coding. 
But the unfortunate thing is that you just need to keep documents up to date. Docstrings only go so far.

Also, I'm pretty certain we've all experienced a choice between two tools where our choice prioritized documentation. Docker is a great example (it's even RedHat's business model!). There's many container systems, many that can even do more! But take systemd-nspawn (and vm). Very poorly documented stuff and not many examples to learn from.

I wanted to make that reminder because UX is important to the business.