Workshop: Practical Go
summary
Workshop lays out concrete rules: prefer use interfaces for behavior not concrete types, keep packages as the unit of encapsulation and avoid global state (use internal/constructors instead), prefer zero-values and clear var/:= choices, replace repetitive error checks with helpers like an error-writer or bufio.Scanner, and write table-driven subtests plus go-cmp diffs for failing cases. Examples include the kencc compiler rewrite, mention of 981 hours spent on a book, and practical tool guidance: go vet, go fmt, go test, and modules.
AI-written summary · about
chapters (12)
- 0:00Workshop introduction
- 1:04Origins of the workshop
- 12:47Identifiers and naming
- 25:23Comments and documentation
- 48:44Functions and readability
- 1:12:47Package design principles
- 1:34:59Projects and libraries
- 2:01:06API design best practices
- 2:37:24Error handling fundamentals
- 3:01:03Reducing error handling
- 3:16:01Table-driven tests
- 3:35:04Q&A session
related talks
36mThings I Find Myself Repeating About Go
29mThink Pragmatically: Elevating Your Go Development Skills
44mGo Testing By Example
01h 24mAn Introduction To Go Lang
28m"Common tips & mistakes" in Go — and How to Fix Them
34mHow NOT to Write a Test in Go
28mIntro to Test-Driven Development in Go
31mThe Things I Find Myself Repeating About Go
