Skip to main content
Glama

GitLab Code Review MCP

by lininn
CODE_REVIEW_GUIDELINES.md6.06 kB
# GitLab MCP Code Review 规范 ## 目录 - [概述](#概述) - [代码审查流程](#代码审查流程) - [审查标准](#审查标准) - [审查清单](#审查清单) - [最佳实践](#最佳实践) - [工具使用](#工具使用) ## 概述 本文档定义了 GitLab MCP Code Review 项目的代码审查规范,旨在确保代码质量、可维护性和团队协作效率。 ### 目标 - 提高代码质量和稳定性 - 促进知识共享和团队学习 - 确保代码符合项目规范 - 防止bug和安全漏洞 - 保持代码库的一致性 ## 代码审查流程 ### 1. 提交合并请求前 - [ ] 确保代码已在本地测试通过 - [ ] 运行所有相关测试用例 - [ ] 检查代码格式和lint规则 - [ ] 更新相关文档 - [ ] 编写清晰的提交信息 ### 2. 创建合并请求 - [ ] 填写详细的MR描述 - [ ] 选择合适的审查者(至少2人) - [ ] 添加相关标签 - [ ] 链接相关issue或需求 - [ ] 设置里程碑(如适用) ### 3. 代码审查过程 - [ ] 审查者在24小时内开始审查 - [ ] 使用GitLab MCP工具辅助审查 - [ ] 提供建设性反馈 - [ ] 标记必须修复的问题 - [ ] 批准或请求修改 ### 4. 反馈处理 - [ ] 作者及时响应反馈 - [ ] 修复所有必须修复的问题 - [ ] 回复所有评论 - [ ] 请求重新审查 ### 5. 合并条件 - [ ] 至少2个审查者批准 - [ ] 所有CI/CD检查通过 - [ ] 所有讨论已解决 - [ ] 代码冲突已解决 - [ ] 符合分支保护规则 ## 审查标准 ### 功能性 - [ ] 代码实现了预期功能 - [ ] 边界条件处理正确 - [ ] 错误处理完善 - [ ] 性能满足要求 ### 可读性 - [ ] 变量和函数命名清晰 - [ ] 代码结构逻辑清晰 - [ ] 注释恰当且有意义 - [ ] 代码风格一致 ### 可维护性 - [ ] 代码模块化程度高 - [ ] 避免代码重复 - [ ] 依赖关系清晰 - [ ] 易于扩展和修改 ### 安全性 - [ ] 输入验证充分 - [ ] 敏感信息处理安全 - [ ] 访问控制正确 - [ ] 依赖版本安全 ### 测试 - [ ] 单元测试覆盖率充分 - [ ] 集成测试完整 - [ ] 测试用例有意义 - [ ] 测试数据合理 ## 审查清单 ### Python 代码特定检查 #### 代码风格 - [ ] 遵循PEP 8规范 - [ ] 使用有意义的变量名 - [ ] 函数长度适中(一般不超过50行) - [ ] 类和函数有适当的文档字符串 #### 错误处理 - [ ] 异常处理覆盖所有可能的错误情况 - [ ] 使用具体的异常类型 - [ ] 错误信息对用户友好 - [ ] 日志记录适当 #### 性能 - [ ] 避免不必要的循环和递归 - [ ] 合理使用数据结构 - [ ] 数据库查询优化 - [ ] 内存使用合理 #### 安全性 - [ ] API认证和授权正确 - [ ] 输入数据验证和清理 - [ ] 敏感信息不在代码中硬编码 - [ ] 依赖包版本固定 ### GitLab API 集成检查 - [ ] API调用错误处理完善 - [ ] 速率限制处理 - [ ] 认证token安全存储 - [ ] 响应数据验证 ### MCP 服务器检查 - [ ] 工具函数文档完整 - [ ] 参数验证充分 - [ ] 返回值格式一致 - [ ] 生命周期管理正确 ## 最佳实践 ### 作为审查者 1. **及时响应**: 在24小时内开始审查 2. **建设性反馈**: 提供具体、可操作的建议 3. **注重学习**: 从他人代码中学习新技巧 4. **保持客观**: 关注代码质量,而非个人偏好 5. **鼓励创新**: 支持合理的新方法和技术 ### 作为作者 1. **小批量提交**: 保持MR规模适中 2. **清晰描述**: 详细说明修改目的和方法 3. **主动沟通**: 对复杂逻辑主动解释 4. **虚心接受**: 积极响应审查建议 5. **自我审查**: 提交前先自己审查一遍 ### 通用原则 1. **尊重协作**: 保持专业和尊重的态度 2. **持续改进**: 定期回顾和优化审查流程 3. **知识共享**: 分享学习到的最佳实践 4. **工具使用**: 充分利用GitLab MCP等工具 5. **文档维护**: 及时更新相关文档 ## 工具使用 ### GitLab MCP 工具 利用本项目提供的MCP工具来辅助代码审查: ```python # 获取合并请求详细信息 fetch_merge_request("project_id", "merge_request_iid") # 查看特定文件的差异 fetch_merge_request_diff("project_id", "merge_request_iid", "file_path") # 添加审查评论 add_merge_request_comment("project_id", "merge_request_iid", "comment_text") # 批准合并请求 approve_merge_request("project_id", "merge_request_iid") ``` ### 审查辅助工具 - **代码静态分析**: 使用pylint、flake8等工具 - **安全扫描**: 使用bandit、safety等工具 - **测试覆盖率**: 使用pytest-cov等工具 - **文档检查**: 使用pydocstyle等工具 ### IDE集成 - 配置IDE的代码质量检查插件 - 使用GitLab插件查看和处理MR - 配置自动格式化工具 ## 常见问题处理 ### 审查冲突 1. 先尝试私下沟通解决 2. 如有分歧,可请第三方审查者参与 3. 必要时escalate给项目维护者 ### 审查延迟 1. 合理设置审查deadline 2. 建立审查轮换机制 3. 紧急修复可临时降低审查要求 ### 质量标准争议 1. 参考现有代码库风格 2. 优先考虑可维护性 3. 在团队会议中讨论制定标准 ## 审查模板 ### 批准模板 ``` ✅ **审查通过** **优点:** - 代码逻辑清晰 - 错误处理完善 - 测试覆盖充分 **建议:** - [可选的改进建议] 批准合并! ``` ### 请求修改模板 ``` 🔄 **请求修改** **必须修复:** - [ ] 问题1:具体描述和建议 - [ ] 问题2:具体描述和建议 **建议改进:** - [ ] 建议1:具体描述 - [ ] 建议2:具体描述 请修复必须修复的问题后重新请求审查。 ``` ## 附录 ### 相关资源 - [GitLab Merge Request Guidelines](https://docs.gitlab.com/ee/development/merge_request_workflow.html) - [Python PEP 8 Style Guide](https://pep8.org/) - [Clean Code Principles](https://clean-code-developer.com/) ### 更新历史 - v1.0 (2024-08-26): 初始版本创建 --- *本文档是活文档,会根据项目需要和团队反馈持续更新。*

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lininn/gitlab-code-review-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server