感谢你对《后台开发技术 All in One》的关注!欢迎贡献你的力量,让这份指南更加完善。
可以贡献的内容类型:
- 📝 修正技术错误或不准确的描述
- 💡 补充缺失的重要知识点
- 💻 改进或新增代码示例
- 🎨 添加架构图、原理图等可视化内容
- 📚 补充参考资料和学习资源
- 🐛 修复文档中的typo、格式问题
- ✨ 优化文档结构和表达
- Fork 本仓库
- 创建特性分支:
git checkout -b feature/improve-redis-section - 做出修改:
- 遵循现有文档风格
- 代码示例需确保可运行
- 重要修改请说明原因
- 提交变更:
git commit -m "docs: 补充Redis集群部署实践" - 推送分支:
git push origin feature/improve-redis-section - 提交 Pull Request
使用约定式提交(Conventional Commits):
docs: 文档相关修改
fix: 修复错误
feat: 新增内容
refactor: 重构
style: 格式调整
示例:
docs: 补充gRPC协议详解fix: 修正LRU Cache并发安全问题feat: 新增RabbitMQ消息队列章节
- 包含必要的
import声明 - 确保代码可以直接运行
- 添加必要的错误处理
- 关键逻辑添加注释
- 复杂算法说明思路
- 参数说明用途
// ✅ 好的示例
import (
"context"
"fmt"
"time"
)
// RateLimiter 令牌桶限流器
// qps: 每秒请求数限制
// burst: 桶容量(支持突发流量)
type RateLimiter struct {
qps int
burst int
}
func NewRateLimiter(qps, burst int) *RateLimiter {
return &RateLimiter{qps: qps, burst: burst}
}
// Allow 检查是否允许请求
func (r *RateLimiter) Allow() bool {
// 实现逻辑...
return true
}
// ❌ 不好的示例(缺少导入、无注释)
func Allow() bool {
return true
}- 使用标准 Markdown 语法
- 中英文之间添加空格
- 代码块指定语言(```go)
- 链接使用相对路径
每个技术章节建议包含:
- 概述:技术背景、核心特点
- 核心原理:深入讲解技术原理
- 实战示例:完整的代码示例
- 最佳实践:生产环境建议
- 常见问题:FAQ 和排错指南
- 参考资料:延伸阅读
Pull Request 会根据以下标准审核:
- ✅ 技术准确性(优先级最高)
- ✅ 代码可运行性
- ✅ 表达清晰度
- ✅ 格式规范性
- ✅ 与现有内容的一致性
对于较大的修改或新增章节,建议先开 Issue 讨论:
- 说明想要贡献的内容
- 阐述为什么这个内容重要
- 简要说明你的写作计划
每一个贡献都很宝贵!你的名字将出现在贡献者列表中。
再次感谢你的贡献! ❤️