بنقرة واحدة
rust-best-practices
Rust 代码审查规则。当审查 .rs 文件时套用。检查 unsafe 使用、错误处理(unwrap/panic)、所有权与借用、unsafe 块 SAFETY 注释、安全漏洞。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Rust 代码审查规则。当审查 .rs 文件时套用。检查 unsafe 使用、错误处理(unwrap/panic)、所有权与借用、unsafe 块 SAFETY 注释、安全漏洞。
التثبيت باستخدام 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 | rust_best_practices |
| description | Rust 代码审查规则。当审查 .rs 文件时套用。检查 unsafe 使用、错误处理(unwrap/panic)、所有权与借用、unsafe 块 SAFETY 注释、安全漏洞。 |
| category | style |
| reviewer_type | style |
| languages | ["rust"] |
.rs 文件(非测试文件)#[cfg(test)] 模块、tests/ 目录)→ unwrap() 在测试中是惯用法;测试 assist functions 可放宽复杂度examples/)→ 为了教学目的可能故意简化extern "C" 块)→ unsafe 是必需的;遵循 C 的惯例target/, out/)→ 不审查macro_rules!)→ 宏内部的复杂性是内在的std::process::Command::new(user_input) — 用户控制命令名 → error.arg("-c").arg(userInput) 配合 shell → errorunsafe { ... } 没有 // SAFETY: 注释 → warningtransmute 在非 FFI 代码中 → warning(优先用 safe cast)lib.rs): 禁止 unwrap() / expect() / panic! → 用 ? 或 matchunwrap() 在初始化阶段可接受,请求处理路径不可接受Result 不可用 let _ = 吞掉std::error::Error 用于自定义错误.clone() → 优先传引用 &TVec<T> 而调用方只需遍历 → 返回 &[T] 或 impl IteratorRc<RefCell<T>> 不是设计问题的解决方案for + pushif let / while let 替代单臂 match#[derive(Debug, Clone, PartialEq, Eq, Hash)]True Positive: 代码在生产路径上会导致 panic、unsafety 或违反 Rust 安全保证。Confidence > 0.7。
False Positive:
unwrap() 在 #[test] 函数中(这是惯用法)unsafe 在 FFI 边界(这是必需的)unwrap() 在 main() 或初始化代码中(程序无法恢复时 panic 是合理的)clone() 是为了满足 borrow checker 且性能可接受panic! 在 build.rs 或编译时代码中