<p>Today, we're not talking about Go, but just software development in general.</p> <p><a href="https://ranchero.com/netnewswire/">NetNewsWire</a>, 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:</p> <p><a href="https://github.com/Ranchero-Software/NetNewsWire/tree/master/Technotes">https://github.com/Ranchero-Software/NetNewsWire/tree/master/Technotes</a></p> <p>There are <a href="https://github.com/Ranchero-Software/NetNewsWire/blob/master/Technotes/CodingGuidelines.md">coding guidelines</a> in there, their <a href="https://github.com/Ranchero-Software/NetNewsWire/blob/master/Technotes/BranchingStrategy.md">branching strategy</a> is explained as well as a whole bunch of other nice things to know.</p> <p>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.</p> <p>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.</p> <p>I should start doing that as well…</p>

Related Posts

  • What developers need to know about databases
  • Truncating a Unix timestamp to the hour using Go
  • Cleaning up Xcode data
  • Using JWT with Labstack Echo
  • Embedding file with Go 1.16