Debian环境下Go代码风格规范
一 基础格式化与工具链
sudo apt update && sudo apt install golang -ygo fmt ./... 或 gofmt -w .go install golang.org/x/tools/cmd/goimports@latestgoimports -w .gofmt/goimports 处理,避免人工风格争论,保证仓库内风格完全一致。二 命名与可见性
httputil、config)。getUserByID、parseConfig);测试函数遵循 TestXxx 命名。MaxRetries、defaultTimeout);若需与现有代码或 C 风格兼容,可采用全大写+下划线(如 MaxRetryCount)。Reader、Writer),多方法接口用描述行为的名词短语(如 ReadWriteCloser)。三 注释与文档
godoc 生成高质量文档。四 项目结构与依赖管理
go mod init example.com/hellogo mod tidymyproject/
├── cmd/
│ └── myapp/
│ └── main.go
├── internal/
│ ├── service/
│ └── repo/
├── pkg/
│ └── util/
├── go.mod
└── go.sum
internal 下代码不对外部可见;按功能组织包与文件,避免“上帝包/util 包”过度聚合。五 质量保障与CI集成
golintgo vetgocyclomisspellineffassignerrcheckfmt:
go fmt ./...
goimports -w .
lint:
golint ./...
go vet ./...
gocyclo -over 15 .
misspell -error .
ineffassign .
errcheck ./...
test:
go test -v -race ./...
ci: fmt lint test