用途:审查 Ruby/Rails 代码变更,覆盖 OOP 设计、代码坏味道、Rails 反模式、安全与测试覆盖率,并输出结构化 REVIEW.md。\n\n主要能力:\n1. 检测范围:自动识别基分支,筛选新增/修改/重命名/复制的 .rb 文件;非特性分支时审查用户指定文件。\n2. 分析工具:对变更文件运行 rubycritic --format json --no-browser $(git diff --name-only base...HEAD | grep '\.rb$');执行 COVERAGE=true bundle exec rspec 生成 SimpleCov 数据;可选运行 ruby scripts/code_reviewer.rb <file.rb>。解析复杂度、重复、坏味道及逐文件覆盖率与未覆盖行。\n3. 逐文件分析:按顺序检查 OOP 设计(Sandi Metz 规则如类≤100行、方法≤5行、参数≤4、实例变量≤4,控制器实例化≤1对象,视图引用≤1实例变量;SOLID;迪米特法则;Tell, Don't Ask)、18 种经典坏味道、Rails 模式(N+1、回调滥用、胖模型、控制器业务逻辑、缺索引)、安全(SQL 注入、XSS、批量赋值、授权缺失)与测试覆盖。\n4. 对齐现有代码模式(如 app/services、presenters、policies 目录约定)。\n5. 生成 REVIEW.md,含摘要、严重问题、设计与架构、安全、测试覆盖、工具报告与建议;代码引用使用 [描述](file:///绝对路径#L42) 格式;发现分级为 Error/Warning/Info/Pass。\n\n适用场景:Ruby/Rails 项目合并请求前的自动化审查、团队规范落地与安全自查。\n\n限制:依赖已配置的 rubycritic、SimpleCov/rspec 与可选脚本,未配置时按对应技能引导设置;需可访问 git 仓库与基分支;不保证发现全部缺陷;未提供安装命令、价格或平台支持信息,部分事实暂未提供。
review-ruby-code
测试与质量
更新于 10-15 21:37