2.8 KiB
设计约束
我使用 里的这个环境 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