clean code in golang: 10 engineering patterns that separate amateur from professional code | pilput