Skip to content

BeyondCodeBootcamp/go-proverbs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Go Proverbs typographic poster

The Go Proverbs, formatted for printing on a single page, with line numbers for reference in code reviews.
(ex: "great example of G16" or "lines 25-28 violate G5 and G15")

(spiritual successor / compliment to The Zen of Python poster)

View Source | Download PDF | Watch Rob Pike's Go Proverbs Talk | Website | Poster

Text (for easy copy/paste)

  1. Don't communicate by sharing memory, share memory by communicating.
  2. Concurrency is not parallelism.
  3. Channels orchestrate; mutexes serialize.
  4. The bigger the interface, the weaker the abstraction.
  5. Make the zero value useful.
  6. interface{} says nothing.
  7. Gofmt's style is no one's favorite, yet gofmt is everyone's favorite.
  8. A little copying is better than a little dependency.
  9. Syscall must always be guarded with build tags.
  10. Cgo must always be guarded with build tags.
  11. Cgo is not Go.
  12. With the unsafe package there are no guarantees.
  13. Clear is better than clever.
  14. Reflection is never clear.
  15. Errors are values.
  16. Don't just check errors, handle them gracefully.
  17. Design the architecture, name the components, document the details.
  18. Documentation is for users.
  19. Don't panic.

More Creeds of Craftsmanship

See BeyondCodeBootcamp/beyondcodebootcamp#18.

Releases

No releases published

Packages

No packages published