Go Programming Design Patterns
Copy link
Go Programming Design Patterns
© Robert Zaremba
https://zaremba.ch
Abstract
This article lists interesting videos and learning materials to master the programming design patters.
MUST READ:
Practical Go: Real world advice for writing maintainable Go programs
.
Best practices
Must watch:
Best Practices for Industrial Programming
- GopherCon EU 2018, Peter Bourgon
API
:
Going GraphQL
: GopherCon UK 2018 - Christopher Biscardi.
I’m a big fun of GraphQL, it solves many, repeatable problems with API design, serialization etc…
What is a name?
- great talk about how to name your things.
Slides
.
Interface and Composition Design
- go training.
Code patterns guide
.
Notes
on learning Go and computer systems.
https://github.com/golang/go/wiki/CodeReviewComments
Error Handling
Errstack
library - a simple, yet powerfull library which will enables error composability, inspection and introduces error kinds
(eg
infrastructure error vs request error).
Don’t just check errors, handle them gracefully
- Dave Cheney
Inspecting Errors
- Dave Cheney
Error handling in Upspin
- Rob Pike
https://godoc.org/upspin.io/errors
Project organization & management
Versioning and dependency management
- GopherConSG 2018 Opening keynote: Go with Versions
How Do You Structure Your Go Apps?
GopherCon 2018 - Kat Zien
Testing
Component & Integration Tests for Micro-services
: GopherCon UK 2018 - Dmitry Matyukhin
Writing Microservice Integration Tests in Go
(Finally)
- GopherCon SG 2019
Advanced Testing Techniques
: GopherCon UK 2019: Alan Braithwaite.
Slides
.
Polymorphism
Will contracts replace interfaces?
GopherCon Israel 2018
Concurrency
Rethinking Classical Concurrency Patterns
- GopherCon 2018, Bryan C. Mills
A channel compendium
[slides]
by Cloudflare
Go Concurrency Patterns: Context
- Go blog.
Go Concurrency Patterns
- Rob Pike
Please turn on JavaScript to use Paper in all of its awesomeness. ^_^
Abstract
Best practices
Project organization & management
Testing
Polymorphism
Concurrency