ワンクリックで
py2rs-review-r5-architecture
[DRAFT] 第 5 轮审查:架构与数据结构(资深软件工程师视角)。允许数据结构大改;关注所有权模型、Arc<Mutex> 使用、API 设计。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
[DRAFT] 第 5 轮审查:架构与数据结构(资深软件工程师视角)。允许数据结构大改;关注所有权模型、Arc<Mutex> 使用、API 设计。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Convert Markdown with LaTeX math, images, and tables into a polished PDF. Two rendering engines: (1) weasyprint — pure Python, no browser needed; (2) chromium — best for matrices/bmatrix/pmatrix/vmatrix and complex formulas. Supports Chinese/Japanese fonts. Can chain after ocr-md-polish for a complete OCR→clean→PDF workflow.
Burn core framework - Provides tensor operations, automatic differentiation, and neural network building blocks for Rust deep learning.
Burn CUDA backend - High-performance NVIDIA GPU acceleration. Provides optimal performance for NVIDIA hardware.
Burn Metal backend - Apple GPU acceleration for macOS and iOS. Optimized for Apple Silicon and Intel-based Macs.
Burn NdArray backend - CPU-based tensor operations using Rust's ndarray crate. Ideal for development, testing, and lightweight inference.
Burn ONNX support - Import ONNX models into Burn for inference on any backend. Supports compile-time code generation and runtime loading.
| name | py2rs-review-r5-architecture |
| description | [DRAFT] 第 5 轮审查:架构与数据结构(资深软件工程师视角)。允许数据结构大改;关注所有权模型、Arc<Mutex> 使用、API 设计。 |
DRAFT(草稿状态)。这一轮具体怎么切 crate / 怎么拆 mod,完全取决于项目本身;下面的“猜想”最多是启发。
rs/crates/ 或 rs/src/<domain>/ 的一个拆分建议模板rs/src/error.rs / rs/src/model.rs / rs/src/service.rs 的“默认三区”建议(但不是教条)reviews/r5-<module>.md 模板:列出改动前 / 后的数据结构、为什么改cargo clippy --all-targets -- -D warnings 的 lint 门槛(作为 R5 的结束标志之一)真实项目可能把 R5 拆成多次小 PR,而不是一次性“大重构”。 另外:本 skill 仅重构后端的架构与数据结构。前端组件结构、GUI 框架选型等一律不碰。
reviews/r0-<module>-signature.md(R0 通过)reviews/r1-<module>.md ~ reviews/r4-<module>.md(前 4 轮审查报告齐全)manifest/modules.yaml 中目标模块状态 ≥ verified未满足则拒绝启动。
“好的程序员关心数据结构和它们之间的关系。” —— Linus Torvalds(你在原始文档中引用的核心依据)
本阶段跳出“逐函数优化”,审视:
本轮是允许大规模重构的最后一轮。
Vec<T> → 考虑 VecDeque<T>BTreeMap / IndexMapenum { A, B, C },而不是 String + match + panic!("unreachable")Arc<Mutex<...>>,还是能拆成“部分只读 + 部分独享”,以减少锁竞争Arc<Mutex<HashMap<...>>> 被整颗树锁住的场景(典型反模式)RwLock 的,不使用 Mutex;能避免同步的就避免unsafe 代码,除非有显式的 // SAFETY: ... 注释&str / &[T],而不是所有权Result<T, E>,而不是 Option<T>(有明确“正常空”语义时例外)Arc<->RwLock 替换等所有权层面的调整reviews/r5-<module>.md:记录所有被“升格”的数据结构及其理由cargo clippy --all-targets -- -D warnings 无 warning(推荐作为 R5 硬门槛)manifest/modules.yaml:optimized(r5_done)