Skip to content

Go Style Decisions Coverage Index

One-line-per-rule index of sections in the Google Go Style Decisions. Use this to find authoritative guidance fast when generating or reviewing Go code.

Coverage legend:

  • โœ… โ€” Covered in SKILL.md with rule + example
  • ๐ŸŸก โ€” Mentioned in SKILL.md but lighter than the canonical doc
  • ๐Ÿ“˜ โ€” Covered in a reference file (see column)
  • โŒ โ€” Not covered (deliberate scope limit, or known gap)
Decision section Coverage Where in this skill
Naming
underscores โœ… SKILL.md ยง Naming
package-names โœ… SKILL.md ยง Naming
receiver-names โœ… SKILL.md ยง Naming
constant-names ๐ŸŸก SKILL.md ยง Naming (covered by MixedCaps rule)
initialisms โœ… SKILL.md ยง Naming (Acronyms row)
getters โœ… SKILL.md ยง Naming (with Fetch / Compute alternatives)
variable-names ๐ŸŸก SKILL.md ยง Naming + common_mentor_feedback.md
repetition (and sub-sections) ๐Ÿ“˜ common_mentor_feedback.md ยง Avoid Repetitive Naming
Commentary
comment-line-length โœ… SKILL.md ยง Documentation
examples ๐ŸŸก SKILL.md ยง Documentation (testable doc examples)
named-result-parameters โŒ (rare in practice; defer to canonical doc)
package-comments โœ… SKILL.md ยง Documentation
Imports
import-renaming โœ… SKILL.md ยง Imports + standard_go_patterns.md
import-grouping โœ… SKILL.md ยง Imports
import-blank โŒ (rare; defer to canonical doc)
import-dot โŒ (forbidden; not worth a section)
Errors
returning-errors โœ… SKILL.md ยง Error Handling
error-strings โœ… SKILL.md ยง Error Handling > Error string formatting
handle-errors โœ… SKILL.md ยง Error Handling
in-band-errors ๐ŸŸก SKILL.md ยง Common Gotchas (use (value, ok))
indent-error-flow โœ… SKILL.md ยง Error Handling > Indent error flow
Language
literal-formatting ๐ŸŸก SKILL.md ยง Common Gotchas (struct literal field names)
nil-slices โœ… SKILL.md ยง Nil slices
indentation-confusion ๐ŸŸก SKILL.md ยง Error Handling > Indent error flow
func-formatting ๐ŸŸก gofmt handles most of this
conditional-formatting โŒ (gofmt handles most)
copying ๐ŸŸก SKILL.md ยง Receiver type (sync.Mutex example)
dont-panic โœ… SKILL.md ยง Error Handling > Don't panic / Must
must-functions โœ… SKILL.md ยง Error Handling > Don't panic / Must
goroutine-lifetimes ๐ŸŸก SKILL.md ยง Concurrency
interfaces โœ… SKILL.md ยง Interfaces
generics โŒ (rarely a readability blocker; defer)
pass-values ๐ŸŸก SKILL.md ยง Receiver type
receiver-type โœ… SKILL.md ยง Receiver type
switch-break โœ… SKILL.md ยง Switch & break
synchronous-functions ๐ŸŸก SKILL.md ยง Concurrency
type-aliases โŒ (rare; defer)
use-percent-q โœ… SKILL.md ยง Error Handling > Use %q for quoted strings
use-any โœ… SKILL.md ยง Self-audit checklist
Common libraries
flags ๐ŸŸก standard_go_patterns.md
logging โœ… SKILL.md ยง Error Handling + standard_go_patterns.md
contexts โœ… SKILL.md ยง Concurrency
crypto-rand โŒ (security-specific; defer)
Useful test failures
useful-test-failures (overview) โœ… SKILL.md ยง Testing > Useful test failures
assert (no assert libraries) โœ… SKILL.md ยง Testing
identify-the-function ๐Ÿ“˜ testing_failures.md
identify-the-input ๐Ÿ“˜ testing_failures.md
got-before-want ๐Ÿ“˜ testing_failures.md
compare-full-structures ๐Ÿ“˜ testing_failures.md
compare-stable-results ๐Ÿ“˜ testing_failures.md
keep-going ๐Ÿ“˜ testing_failures.md
types-of-equality ๐Ÿ“˜ testing_failures.md
level-of-detail ๐Ÿ“˜ testing_failures.md
print-diffs ๐Ÿ“˜ testing_failures.md
test-error-semantics ๐Ÿ“˜ testing_failures.md
Test structure
subtests ๐Ÿ“˜ testing_failures.md
subtest-names ๐Ÿ“˜ testing_failures.md
table-driven-tests ๐ŸŸก SKILL.md ยง Testing
table-tests-data-driven โŒ (advanced; defer to canonical)
table-tests-identifying-the-row ๐Ÿ“˜ testing_failures.md
mark-test-helpers ๐ŸŸก SKILL.md ยง Testing
test-package โŒ (rare decision; defer)
use-package-testing โœ… SKILL.md ยง Testing

See also