Рет қаралды 743
About the talk: It’s a deeply satisfying moment in the life of an open-source developer if the code they have put out there actually finds some users. But with great popularity comes great responsibility. Now that you have users, you cannot simply change your code at will. Breaking changes will make your users very sad. Semantic versioning comes to the rescue, but much better than a major version bump is to avoid breaking changes in the first place, ideally without slowing down feature development. Go itself and the Go standard library are once more a great role model in this regard. Let’s study a few good practices and also pitfalls, helping you to find the right trade-offs for your library. We’ll start with an informed definition of your public API surface and how to draw the lines between packages, modules, and repositories. We will learn about the marvel that is the interface upgrade - and how it isn’t even needed if you follow a few fundamental design principles.
/ beorn7
#gopherconEU #golang