Today, we’re not talking about Go, but just software development in general.
NetNewsWire, the RSS reader for macOS an iOS has a complete folder in the source code repository containing a whole bunch of technotes. You can find them here:
There are coding guidelines in there, their branching strategy is explained as well as a whole bunch of other nice things to know.
What I really like about this is that they treat it as part of the source code. Most people would put this in a wiki or in a separate place. Brent and his team takes the approach of treating documentation in the same way as source code.
This makes it easy to keep it up-to-date but also allows you to easily keep a history of the documentation. The GitHub wiki does this as well, but it’s actually a separate git repo. By storing it in the source code repository of your software, the documenation are always in sync with the version at any point of the development stage.
I should start doing that as well…