后端服务
grpc-services
更新于 2026-08-16
gRPC 工程规则
gRPC rules: contract-first proto changes, deadlines and status codes
- 技术栈
- gRPC
- 主题
- 工程基线
- 条目
- 9 条
- 版本
- v0.2.0
✓ 应当这么做
- ✓ Return wrapped errors with context using `fmt.Errorf("...: %w", err)` and inspect with errors.Is/errors.As
- ✓ Pass `context.Context` as the first argument and honour cancellation everywhere
- ✓ Rely on `go vet`, race detection and table-driven tests in the same package
✕ 常见反模式
- ✕ Comparing error strings instead of sentinel values
- ✕ Starting goroutines without a lifecycle owner and a shutdown path
- ✕ Holding locks while calling into I/O or another package
◎ 交付前验证
- ◎ `go vet ./...` and `go test -race ./...` pass
- ◎ No leaked goroutines after the new code path completes
- ◎ Exported API changes documented in the package comment
同分类条目
36 篇后端服务
Node.js 工程规则
Node.js async rules: validated boundaries, non-blocking I/O and graceful shutdown
后端服务
NestJS 工程规则
NestJS rules: thin controllers, validated DTOs and evented module boundaries
后端服务
Spring Boot 工程规则
Spring Boot rules: constructor injection, transaction boundaries and validated input
后端服务
FastAPI 工程规则
FastAPI rules: Pydantic boundary models and dependency-injected services
后端服务
Django 工程规则
Django rules: queryset-level filtering and explicit select_related usage
后端服务
Flask 工程规则
Flask rules: blueprint-scoped config and application-factory wiring