بنقرة واحدة
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)