Ask HN: Best examples of software documentation that you've come across?
Hi all. I'm currently trying to revamp the software documentation of a library that I'm trying to build. I would like to see examples of documentation that allows you to easily find the information you need. Thanks!
99 comments
[ 3.2 ms ] story [ 192 ms ] threadPoint in case https://learn.microsoft.com/en-us/dotnet/api/system.linq.enu...
And they do a great job of keeping docs for older versions available. They're on version 15 and they have back to 7.2 available.
If I can't figure out how something works in another DBMS, I usually read the comparable postgresql docs to get a good overview, and then go and re-read the docs for what I'm actually using to fill in the implementation-specific bits.
When using mysql i search for postgresql docs, because mysql docs sucks, good thing they implement same sql standard on most parts.
https://stripe.com/docs/api
In addition to being thorough, it has personality.
Still, grade A work over there on docs!
1. Reference docs that describe the behavior of the thing and the API
2. Example code and tutorials that show you how to use the thing
3. Architecture docs that describe how the thing works at a high level and how you integrate it into your system
4. Operational docs to tell you how to run the thing in production with backups, monitoring, debugging, and scaling
5. FAQ and anything else
Lots of docs tend to focus on only a few of these. But you've got really great docs when you bring these all together.
(There are other projects with better «reference style» docs)
The beta testing and information extraction parts of that are damn near impossible without engineering experience.
Redis command docs are excellent and you can try the commands on the site itself!
Also love that they include the availability by version and the time complexity and tag the commands such as @slow for potentially slow commands, etc.
https://documentation.divio.com/
The idea is that there are four different goals that should be accomplished independently.
1. https://plaid.com/docs/errors/invalid-request/#invalid_field
Additionally the way they structured their API responses is brilliant. The API response data structures are deeply nested which means you have to perform less API calls to get related data (which often occurs with payments data).
https://www.marqeta.com/docs/developer-guides
https://starwars.fandom.com/wiki/The_Stele_Chronicles
SimEarth had a spiral bound 200+ page manual that went in to great detail, and was also a joy to read.
As an example, here's the doc for the backslash operator that solves a linear system: https://www.mathworks.com/help/matlab/ref/mldivide.html
https://docs.djangoproject.com/en/4.1/
You can ask what a specific shortcut key does, you can ask what a specific lisp function does. Everything is linked together (so you can get from the shortcut to the function and vice versa) -- there's a direct link into code/implementation so you can traverse various levels of abstractions.
When I contributed a module to melpa last year, the biggest back and forth was about documentation and description of what everything does.
The doc system makes Emacs a joy to use and really makes it a stand out.