Project Layout Patterns in Go
You completed the tour, learned the language, got your pet project on Github. Time to start a new project, a big one: how do you organize code, tests, docs? During the talk I’ll try to save you some trial and error by sharing the lessons learned during a year spent coding a non trivial Go project.
There’s no silver bullet to organize a non trivial Golang project, only good practices and experience. You can try different things but when the project gets traction, with a lot of people involved, it might be difficult to change strategy. You may look at what others do in bigger, well known projects but size matters and you can’t just do “what they do at Kubernetes”. During the talk I’ll show some lessons learned while building from the ground up a Golang project that now has more than 600 source files, dozens of packages and the tooling needed to build binaries, packages and Docker images.