بنقرة واحدة
ruby-best-practices
Ruby 代码审查规则。当审查 .rb 文件时套用。检查安全性(eval/命令注入/反序列化)、异常处理、元编程规范、代码块使用惯例。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Ruby 代码审查规则。当审查 .rb 文件时套用。检查安全性(eval/命令注入/反序列化)、异常处理、元编程规范、代码块使用惯例。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Angular 代码审查规则。当审查 Angular 项目的 .ts 文件(组件/服务/Directive)时套用。检查 DI、RxJS 订阅管理、Signals、Change Detection、模板安全([innerHTML] XSS)。
跨语言通用代码质量规则。当没有匹配的语言特定 skill 时作为 fallback 使用。适用于函数复杂度、命名规范、死代码、魔法数字。
Go 代码审查规则。当审查 .go 文件时套用。检查错误处理、goroutine 生命周期、接口设计、命名惯例、defer 使用。
Java 代码审查规则。当审查 .java 文件时套用。检查异常处理、资源管理(try-with-resources)、Optional 使用、Stream API、安全漏洞。
Python 代码审查规则。当审查 .py 文件时套用。检查类型注解、异常处理、命名规范、函数复杂度、安全漏洞(eval/exec/pickle/yaml.load/os.system)。
React/Next.js 代码审查规则。当审查 JSX/TSX 文件(React 项目)时套用。检查组件设计、Hooks 使用、状态管理、性能、安全(XSS)。
| name | ruby_best_practices |
| description | Ruby 代码审查规则。当审查 .rb 文件时套用。检查安全性(eval/命令注入/反序列化)、异常处理、元编程规范、代码块使用惯例。 |
| category | style |
| reviewer_type | style |
| languages | ["ruby"] |
.rb 文件(非测试文件)test/, spec/, *_test.rb, *_spec.rb)→ 测试 DSL 的模式不同;测试中可以 rescue 任意异常before_action、metaprogramming)method_missing 和 instance_eval 是 DSL 的正常模式eval(user_input) — 用户输入作为 Ruby 代码执行 → errorinstance_eval(user_input) / class_eval(user_input) → errorsend(user_input) 方法名来自用户输入且未白名单 → error`command #{user_input}` 反引号拼接用户输入 → errorsystem("cmd #{user_input}") → errorexec("cmd #{user_input}") → error%x(cmd #{user_input}) — 等同反引号 → errorOpen3.capture / popen 参数来自用户 → errorYAML.load(user_data) → error(应用 safe_load 或指定 permitted_classes)Marshal.load(user_data) → errorrescue Exception — 必须 rescue StandardError 子类ensure 块中禁止 return 或 raisemethod_missing 必须同步覆写 respond_to_missing?define_method 替代 method_missinginstance_eval / class_eval 需注释说明原因Module#prepend 优于 reopen classProc.new / lambdaeach 返回 receiver、map 返回新数组find(非 select.first)、any?(非 select.any?)snake_case;谓词 ? 结尾;危险方法 ! 结尾True Positive: 代码会引入安全漏洞或运行时异常。Confidence > 0.7。
False Positive:
constantize、try、send 是框架正常用法method_missing 在 DSL gem 中是有意设计rescue Exception 在顶层错误处理器或测试中可能是有意的eval 在 IRB/控制台代码或 build 脚本中YAML.load 加载可信配置文件(但应建议换成 safe_load)