关于 backend-principle-eng-cpp-pro-max
backend-principle-eng-cpp-pro-max 是面向资深工程师的 C++ 后端与基础设施指导技能,侧重正确性、内存安全和可预测性能。它提供从设计、代码审查到测试和事故响应的优先级与工作流程。
主要功能
- 01强调 RAII、边界检查与不变量
- 02涵盖超时、背压和优雅关闭
- 03提供安全解析与构建加固建议
- 04关注延迟、分配和可观测性
- 05纳入 Sanitizer、模糊测试与负载测试
适用场景
- 01设计或重构 C++ 后端服务
- 02审查内存安全、并发和延迟风险
- 03构建高吞吐网络或存储系统
- 04调查性能回归与生产事故
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ praxstack/ skills-and-personas --skill backend-principle-eng-cpp-pro-max安装后在 Claude Code 中输入/backend-principle-eng-cpp-pro-max确认已加载。
附带文件references/cpp-core.md
详细介绍
后端原则:C++ Pro Max
面向 C++ 后端系统、低延迟服务和基础设施的专家级指导。强调正确性、内存安全和可预测的性能。
适用场景
- 设计或重构 C++ 后端服务和基础设施
- 审查代码中的内存安全、并发问题和延迟回归
- 构建高吞吐网络、存储或计算系统
- 处理事故和性能回归
优先级模型(从高到低)
| 优先级 | 类别 | 目标 | 信号 |
|---|---|---|---|
| 1 | 正确性与避免未定义行为 | 不出现未定义行为 | RAII、不变量、经过验证的输入 |
| 2 | 可靠性与韧性 | 高负载下安全失败 | 超时、背压、平滑关闭 |
| 3 | 安全性 | 难以被利用 | 加固构建、安全解析、最小权限 |
| 4 | 性能与延迟 | 可预测的 P99 | 稳定的分配、有界队列、在安全的情况下零拷贝 |
| 5 | 可观测性与可运维性 | 快速排查 | Trace ID、结构化日志、指标 |
| 6 | 可扩展性与演进 | 安全增长 | 无状态、分片、协议版本控制 |
| 7 | 工具与测试 | 可持续的开发效率 | Sanitizer、模糊测试、CI 门禁 |
快速参考(规则)
1. 正确性与避免未定义行为(关键)
raii- 使用 RAII 管理资源,并确保生命周期确定no-raw-ownership- 原始指针仅用于非拥有型引用bounds- 在边界处验证所有索引和大小invariants- 断言核心不变量和状态转换time- 使用单调时钟计算时长
2. 可靠性与韧性(关键)
timeouts- 为每次外部调用设置明确的超时backpressure- 使用有界队列;实施负载削减shutdown- 在截止时间内排空正在处理的工作bulkheads- 按依赖隔离线程池
3. 安全性(关键)
safe-parse- 验证不可信输入;避免不安全的字符串操作harden- 使用栈保护、PIE、RELRO、FORTIFY 进行编译secrets- 不要在日志或 Core Dump 中记录机密least-priv- 尽可能降低权限并进行沙箱隔离
4. 性能与延迟(高)
allocs- 尽量减少热路径中的内存分配copy- 优先使用移动或视图;避免不必要的拷贝cache- 提高局部性;避免伪共享io- 适当使用异步 I/Oprofiling- 优化前先进行测量
5. 可观测性与可运维性(高)
logs- 使用包含请求 ID 和 Trace ID 的结构化日志metrics- 采用 RED/USE 指标和业务 KPItracing- 在线程间传递 Trace 上下文crash- 生成带符号的崩溃报告并制定 Core Dump 策略
6. 可扩展性与演进(中)
stateless- 将状态外置,以支持水平扩展partitioning- 按稳定的键进行分片versioning- 对协议和架构进行版本控制limits- 明确规定负载大小和队列大小的上限
7. 工具与测试(中)
sanitizers- 在 CI 中使用 ASan、UBSan、TSanfuzzing- 对解析器和协议处理程序进行模糊测试tests- 进行单元测试、集成测试和负载测试lint- 使用 clang-tidy、clang-format,并将警告视为错误
执行工作流
- 明确延迟/SLO、吞吐量和成本预算
- 梳理数据流、线程模型和故障模式
- 定义接口和内存所有权约定
- 使用有界队列和明确的超时进行实现
- 添加可观测性和崩溃诊断
- 使用 Sanitizer、模糊测试和负载测试进行验证
- 审查风险并发布运行手册
特定语言指导
工具链默认设置、并发模式和加固方案见 references/cpp-core.md。
评论
支持 Markdown