3.8 KiB
设计约束
除非特别说明不允许写任何同步等待代码。 除非特别说明不允许写任何同步等待代码。 除非特别说明不允许写任何同步等待代码。 除非特别说明不允许写任何同步等待代码。
除非特别说明 不允许写任何 事件机制。 除非特别说明 不允许写任何 事件机制。 除非特别说明 不允许写任何 事件机制。 除非特别说明 不允许写任何 事件机制。
除非特别说明不允许写任何 快照, 任何线程问题先完了都要给我说明 我来审核。 除非特别说明不允许写任何 快照, 任何线程问题先完了都要给我说明 我来审核。 除非特别说明不允许写任何 快照, 任何线程问题先完了都要给我说明 我来审核。 除非特别说明不允许写任何 快照, 任何线程问题先完了都要给我说明 我来审核。
每次写指针需要明确所有权 T* 表示可空、非拥有借用;not_null<T*> 表示必填、非拥有借用;owner<T*>才表示裸指针所有权。
我使用 里的这个环境 D:\ae\proj\Aethera\CMakePresets.json "toolchain/vs2022.json" ====================[ 构建 | Aethera_Kernel_check | vs2022_debug ]================ "C:\Program Files\JetBrains\CLion 2026.1\bin\cmake\win\x64\bin\cmake.exe" --build D: \ae\proj\Aethera\cmake-build-vs2022_debug --target Aethera_Kernel_check -j 30 默认每次运行程序都通过CDB运行 D: \ae\ewdk\EWDK_22621_230929-1800\Program Files\Windows Kits\10\Debuggers\x64\cdb.exe
编译器环境脚本 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat -host_arch=x64 -arch=x64
D:\ae\tools 可能会有有用的工具
任何 fallback 都必须先规划,禁止直接实现
你每次出bug 很多时候是编译缓存的原因 你清掉缓存重新编译 还不行 再去找bug
你写完清理你自己创建的所有进程 我自己启动服务
写函数 和模块使用下面的约定 错误处理规范 命名约定 项目细节规范
-
跟你审计报告 就要大刀阔斧的改 一次性先把问题一次改完 在批量检查 要大步前进
-
每个状态只能有一个权威来源,禁止在不同对象中重复保存并手工同步。
-
能通过计算、查询或快照得到的数据,不要保存为成员变量。
-
禁止增加只做值转发的成员、getter、setter 和兼容中间层。
-
公共接口只表达业务语义,不泄漏缓冲区角色、线程状态、Private 类型和内部指针。
-
接口必须正交,避免语义重叠、调用顺序依赖和多套相同实现。
-
类只保存自身职责需要的状态,不替其他对象保存配置或运行状态。
-
不要用大量默认空实现的虚函数,能力应按需拆分和组合。
-
不要提前加入空配置、无消费者统计和未完成接口。
-
替换实现时直接删除旧实现,不保留兼容转发。
-
修改后检查新增成员的写入者、读取者、生命周期,以及是否形成重复状态源。
-
注意使用 clion提供的工具 Name Url Bearer Token Env Var Status Auth clion-index http://127.0.0.1:29177/index-mcp/streamable-http - enabled Unsupported
"C:\Program Files\JetBrains\CLion 2026.1\bin\cmake\win\x64\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug "-DCMAKE_C_COMPILER=C:/Program Files/Microsoft Visual Studio/18/Enterprise/VC/Tools/MSVC/14.50.35717/bin/Hostx64/x64/cl.bat" "-DCMAKE_CXX_COMPILER=C:/Program Files/Microsoft Visual Studio/18/Enterprise/VC/Tools/MSVC/14.50.35717/bin/Hostx64/x64/cl.bat" --preset vs2019_Debug -S D:\ae\proj\Radio -B D:\ae\proj\Radio\cmake-build-vs2019_debug "C:\Program Files\JetBrains\CLion 2026.1\bin\cmake\win\x64\bin\cmake.exe" --build D: \ae\proj\Radio\cmake-build-vs2019_debug --target Renderive_Core -j 30