docs: 更新 eqpalg 重构变更文档(34 commits + 编译修复记录)
This commit is contained in:
parent
06ebc21dd6
commit
d79d17af20
@ -4,7 +4,7 @@
|
||||
|
||||
对 eqpalg 核心架构进行系统性重构,消除历史遗留的补丁设计,将 God Class `ExpBase`(1956 行)拆分为 10 个职责清晰的组件和算法子类。
|
||||
|
||||
**变更规模**:37 文件,+2876 / -1326 行,22 个 commit。
|
||||
**变更规模**:37 文件,+2876 / -1326 行,34 个 commit(含编译修复)。
|
||||
|
||||
---
|
||||
|
||||
@ -169,29 +169,69 @@ ExpModule (250行) BoundAlg (85行) — Alg 2
|
||||
|
||||
---
|
||||
|
||||
## 七、Commit 历史
|
||||
## 七、编译修复(12 个 commit)
|
||||
|
||||
重构后首次在 CentOS 7 / GCC 10.2 上编译,逐轮修复了以下问题:
|
||||
|
||||
| 问题 | 修复 | commit |
|
||||
|------|------|--------|
|
||||
| 测试 target 缺少 include 路径 | 补全 legacy/include/ihdb/memcache/iXcom | 3f10d4d |
|
||||
| 测试文件 `"test_harness.h"` 不符项目规范 | 统一改为 `<>` 风格 | 4032ff9 |
|
||||
| 第三方代码 `GlobDefine.h` 大量 format 警告淹没错误 | 添加 5 个 `-Wno-*` 标志 | 5a026ac |
|
||||
| `enum class DetectMode` 无 `ostream<<` | CHECK_EQ 改 CHECK(==) | dc26b6a |
|
||||
| `mix_cc::time_range_t` 未声明 | expression_engine.h 添加 `<mix_cc/ihyper_db.h>` | 62a2e55 |
|
||||
| ExpTimes/Roller2/ExpSample2D 等 5 子类未实现纯虚 `doMonProc()` | 添加桩实现 | 18a5675 |
|
||||
| `bound_alg.cpp` 访问私有 `exps_` | 新增 `hasExpression()` 公有方法 | 43c545e |
|
||||
| exp_bound/exp_times/exp_sample2D/roller2/roller3 残留旧方法调用 | 逐文件替换为 ExpressionEngine API | ba0bf8c |
|
||||
| roller3 中 DetectMode 赋值和 LOG 输出 | 添加 `static_cast` | 367802f |
|
||||
| roller2/roller3 中 init_hold_exp_str/exp_messy_code_check | 改用 registerExpression | 06ebc21 |
|
||||
|
||||
---
|
||||
|
||||
## 八、Commit 历史
|
||||
|
||||
```
|
||||
ca2147e test: 核心算法单元测试
|
||||
032f0d0 refactor: 切换 build_algorithm 工厂到算法子类 + CMake 更新
|
||||
ae7834a refactor: 算法子类化 — 消除 exp_type_ 分支
|
||||
4f8eecd refactor: 提取 StatCollector 统计学习组件
|
||||
b9cf5f4 refactor: 提取 BoundChecker 上下限检测组件
|
||||
c4bcb66 refactor: 删除旧反馈状态方法和标志
|
||||
0106e55 refactor: 集成 FbStateMachine 到 ExpBase::mon_proc()
|
||||
fad4ee8 test: FbStateMachine 状态转换单元测试
|
||||
9f66fc1 feat: FbStateMachine 状态转换 + 变量操作实现
|
||||
f2f6d6f feat: 添加 FbStateMachine 头文件
|
||||
e9b2c17 refactor: 删除 ExpModule 类
|
||||
3f8d281 fix: 清理 ExpBase 子类残留引用
|
||||
38d0942 refactor: 非 ExpBase 算法适配 ExpressionEngine API
|
||||
7c2fe7f refactor: ExpBase 表达式管理迁移到 ExpressionEngine
|
||||
96ca4d0 refactor: AlgBase 从 ExpModule 迁移到 ExpressionEngine
|
||||
f10da49 test: ExpressionEngine 单元测试用例
|
||||
693d3b5 feat: ExpressionEngine firstFill + printVars 实现
|
||||
e575efd feat: ExpressionEngine FunVars 控制 + hold 变量管理
|
||||
5017368 feat: ExpressionEngine 变量刷新实现
|
||||
da9eb2e feat: ExpressionEngine 核心实现
|
||||
2f7ca1e feat: 添加 ExpressionEngine 头文件声明
|
||||
#### Phase 1: ExpressionEngine 统一表达式引擎
|
||||
ec8e44c test: 为 eqpalg 添加测试基础设施
|
||||
2f7ca1e feat: 添加 ExpressionEngine 头文件声明
|
||||
da9eb2e feat: ExpressionEngine 核心实现
|
||||
5017368 feat: ExpressionEngine 变量刷新实现
|
||||
e575efd feat: ExpressionEngine FunVars 控制 + hold 变量管理
|
||||
693d3b5 feat: ExpressionEngine firstFill + printVars 实现
|
||||
f10da49 test: ExpressionEngine 单元测试用例
|
||||
96ca4d0 refactor: AlgBase 从 ExpModule 迁移到 ExpressionEngine
|
||||
7c2fe7f refactor: ExpBase 表达式管理迁移到 ExpressionEngine
|
||||
38d0942 refactor: 非 ExpBase 算法适配 ExpressionEngine API
|
||||
3f8d281 fix: 清理 ExpBase 子类残留引用
|
||||
e9b2c17 refactor: 删除 ExpModule 类
|
||||
|
||||
#### Phase 2: FbStateMachine 反馈状态机
|
||||
f2f6d6f feat: 添加 FbStateMachine 头文件
|
||||
9f66fc1 feat: FbStateMachine 状态转换 + 变量操作实现
|
||||
fad4ee8 test: FbStateMachine 状态转换单元测试
|
||||
0106e55 refactor: 集成 FbStateMachine 到 ExpBase::mon_proc()
|
||||
c4bcb66 refactor: 删除旧反馈状态方法和标志
|
||||
|
||||
#### Phase 3: ExpBase 解耦 + 算法子类化
|
||||
b9cf5f4 refactor: 提取 BoundChecker 上下限检测组件
|
||||
4f8eecd refactor: 提取 StatCollector 统计学习组件
|
||||
ae7834a refactor: 算法子类化 — 消除 exp_type_ 分支
|
||||
032f0d0 refactor: 切换 build_algorithm 工厂到算法子类 + CMake 更新
|
||||
|
||||
#### Phase 4: 单元测试 + 文档
|
||||
ca2147e test: 核心算法单元测试
|
||||
153ce64 docs: 添加 2026-05-15 eqpalg 重构变更文档
|
||||
|
||||
#### 编译修复(CentOS 7 / GCC 10.2)
|
||||
3f10d4d fix: 为 eqpalg_test 添加缺失的 include 路径
|
||||
4032ff9 fix: 将测试文件中 "" include 改为 <> 风格
|
||||
2754b7a docs: 添加 eqpalg 测试说明文档
|
||||
5a026ac build: 添加 -Wno-unused-parameter/variable/sign-compare/reorder
|
||||
dc26b6a fix: 将 enum class 类型的 CHECK_EQ 改为 CHECK(==)
|
||||
62a2e55 fix: expression_engine.h 添加 <mix_cc/ihyper_db.h>
|
||||
18a5675 fix: 子类实现 doMonProc() + 测试 CMake 添加缺失链接文件
|
||||
43c545e fix: 添加 hasExpression(),修复 bound_alg/exp_bound 编译错误
|
||||
ba0bf8c fix: 清理 ExpBase 子类中残留的旧方法调用
|
||||
367802f fix: roller3.cpp 中 DetectMode enum class 的 LOG 输出和 stoi 赋值 cast
|
||||
06ebc21 fix: roller2/roller3 中 init_hold_exp_str/exp_messy_code_check 改用 ExpressionEngine
|
||||
```
|
||||
|
||||
Loading…
Reference in New Issue
Block a user