CodeClimate 是什么?
CodeClimate 是一个全面的工程智能平台,旨在帮助软件团队提高代码质量和开发速度。它直接集成到开发工作流程中,提供自动化的代码审查、静态分析和测试覆盖率指标。该平台分为两个主要产品:Qlty,专注于代码健康;以及 Velocity,提供对开发过程效率的洞察。通过分析每个拉取请求和提交,CodeClimate 帮助团队识别技术债务,强制执行编码标准,并做出数据驱动的决策以提高其工程产出。
主要功能
- 自动化静态分析: Qlty 使用各种开源分析引擎扫描代码的复杂性、重复性、安全漏洞和风格问题。
- 测试覆盖率报告: 与流行的测试框架集成,报告逐行测试覆盖率,确保新代码得到充分测试。
- 可维护性评分: 为文件、类和方法提供从0到4.0的简单“GPA式”评级,使其易于发现需要重构的区域。
- 拉取请求集成: 直接在 GitHub、GitLab 或 Bitbucket 的拉取请求中提供反馈,允许开发人员在合并前修复问题。
- 工程速度指标: Velocity 产品分析 Git 数据,为工程团队提供关于周期时间、拉取请求吞吐量和其他关键绩效指标的度量。
- 可定制配置: 团队可以使用其存储库中的
.codeclimate.yml文件配置分析设置、启用或禁用特定检查以及设置质量门。
使用案例
- 持续集成与持续交付 (CI/CD): 将 CodeClimate 集成到您的 CI 管道中,以自动使不符合质量或测试覆盖率标准的构建失败。
- 管理技术债务: 通过监控代码库中的可维护性趋势和热点,主动识别和优先处理技术债务。
- 提高团队绩效: 使用 Velocity 指标识别开发过程中的瓶颈,并促进关于改进团队工作流程的对话。
- 新开发人员入职: 通过自动化反馈,帮助新团队成员快速了解代码库约定和质量标准。
- 代码安全审计: 使用静态分析扫描常见的安全漏洞,如 SQL 注入和跨站脚本。
入门指南
开始使用 CodeClimate Qlty 非常简单,特别是对于托管在 GitHub 上的项目。
- 注册: 前往 CodeClimate 网站 并使用您的 GitHub 帐户注册。
- 添加存储库: 将您的开源或私有存储库添加到 CodeClimate 仪表板。
- 初始分析: CodeClimate 将自动对您的默认分支执行初始分析。
- 配置分析(可选): 要自定义分析,请在存储库的根目录中添加一个
.codeclimate.yml文件。这允许您启用特定的插件、调整阈值和排除文件。
这是一个示例 .codeclimate.yml 文件,用于启用 ESLint 和 RuboCop 引擎并设置目标测试覆盖率百分比:
```yaml version: “2” plugins: eslint: enabled: true rubocop: enabled: true checks: method-complexity: config: threshold: 7 coverage: # 要求 80% 的覆盖率,并且不允许在任何拉取请求上降低超过 5%。 minimum: 80 maximum_drop: 5 exclude_patterns:
- “config/”
- “db/”
- “dist/”
- “features/”
- “**/node_modules/”
- “script/”
- “**/spec/”
- “**/test/”
- “**/tests/”
- “**/vendor/”
- “*/.d.ts”
定价
CodeClimate 提供分层定价模型:
- Qlty 免费版: 一个供无限用户使用的免费层,包括基本的 linting、可维护性分析和测试覆盖率,适用于公共和私有存储库,但有一些使用限制。
- Qlty 专业版: 一个付费计划,增加了趋势分析和共享配置等功能,按每个贡献者每月定价。
- Velocity: 一个专注于工程指标的高级产品,定价基于贡献者数量和合同期限。