How to introduce breaking changes

Code smells / Anti-patterns

Code smell #1: Accessing channels

Code smell #2: Pass context to functions

Code smell #3: Comment out tests

Code smell #4: Compare slices in tests

Code Smell #5: Skip deferred error

Code Smell #6: Cleanup MobileSignalHandler

Code-smell #7: Inserting enums

Code Smell #8: Modify global variables in tests

Code Smell #9: Global Variables

Tips and Tricks

50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs

Trick #1: Forbid dependency

Best Practices

(WIP) Scope of Packages

https://go.dev/wiki/CodeReviewComments

https://go.dev/doc/effective_go