SuperAPI AI 工具集

cpp

编程与开发

查看项目

更新于 10-16 00:05

技能介绍

用途:该技能用于编写、设计和审查现代 C++ API 与原生实现代码,适用于 .cpp、.hpp、CMake、RAII 所有权、std::variant、回调等场景。若代码属于 Nitro Module,需与 build-nitro-modules 配合,处理生成的 spec、Promise 映射、CMake 与 HybridObject 约束。

主要能力:以类型建模有效状态,用 std::variant、继承或独立具体类型表达状态变体,避免用含大量 std::optional 字段的单一结构体;真实域缺失才用 std::optional。保持头文件小而稳定,实现细节放入 .cpp。按职责拆分辅助代码,文件名视为作用域契约,一个文件默认只放一个主类、结构族或内聚算法;私有小助手可放匿名命名空间,可复用或体量大的助手应移入独立文件或 detail 命名空间。行数作为审查信号,约 300 行以下通常可接受,超出需有与单一职责相关的明确理由。

所有权与异步:优先 RAII 与显式所有权,使用值、std::unique_ptr,仅在共享生命周期真实存在时用 std::shared_ptr;避免裸拥有指针。快速、确定、本地的工作保持同步,不为简单值构造引入执行器或 Promise。I/O、长 CPU 工作或平台回调不得阻塞调用线程,应使用项目异步抽象、自有执行器/线程或 Nitro Promise<T>。避免平台主/UI 线程,除非平台 API 要求。不要用 sleep_for、usleep、定时器或重复调用修复竞态,应修正所有权、状态机、生命周期事件或异步边界。std::mutex 作为最后手段,且不得在持有锁时调用回调、进入 JS/Nitro 或调用用户代码。

Nitro 注意:C++ HybridObject 必须继承生成的 Hybrid*Spec 类并精确复制签名;生成异步方法用 std::shared_ptr<Promise<T>>;生成 spec 实现文件应聚焦 HybridObject,转换助手、OpenCV 工具、平台适配器与 CMake 胶水放独立文件。

限制:资料未提供具体安装命令、收费、价格、平台支持或效果数据。