Go Review Command
Review Go code for idiomatic patterns and best practices: $ARGUMENTS
Your Task
- Analyze Go code for idioms and patterns
- Check concurrency - goroutines, channels, mutexes
- Review error handling - proper error wrapping
- Verify performance - allocations, bottlenecks
Review Checklist
Idiomatic Go
- [ ] Package naming (lowercase, no underscores)
- [ ] Variable naming (camelCase, short)
- [ ] Interface naming (ends with -er)
- [ ] Error naming (starts with Err)
Error Handling
- [ ] Errors are checked, not ignored
- [ ] Errors wrapped with context (
fmt.Errorf("...: %w", err)) - [ ] Sentinel errors used appropriately
- [ ] Custom error types when needed
Concurrency
- [ ] Goroutines properly managed
- [ ] Channels buffered appropriately
- [ ] No data races (use
-raceflag) - [ ] Context passed for cancellation
- [ ] WaitGroups used correctly
Performance
- [ ] Avoid unnecessary allocations
- [ ] Use
sync.Poolfor frequent allocations - [ ] Prefer value receivers for small structs
- [ ] Buffer I/O operations
Code Organization
- [ ] Small, focused packages
- [ ] Clear dependency direction
- [ ] Internal packages for private code
- [ ] Godoc comments on exports
Report Format
Idiomatic Issues
- [file:line] Issue description Suggestion: How to fix
Error Handling Issues
- [file:line] Issue description Suggestion: How to fix
Concurrency Issues
- [file:line] Issue description Suggestion: How to fix
Performance Issues
- [file:line] Issue description Suggestion: How to fix
TIP: Run go vet and staticcheck for additional automated checks.