4.4 KiB
4.4 KiB
减法与结构审计(历史记录,不能作为成功指标)
用户验收确认代码量下降伴随了不可接受的产品偏差。本文件只保留作失败复盘,不得以行数减少 证明迁移成功。权威冻结决定见
../../../docs/migration/next失败冻结记录.md。
结论
重建版运行时代码共219个源码文件、25,077行;旧版运行时代码共55个文件、61,793行。
在功能完整迁移并增加移动端后,新运行时代码减少36,716行,约59.4%。文件数量增加来自按职责拆分,
不再由server.py、app.js、styles.css和覆盖样式承载整个系统。
一次性迁移、备份、测试与文档不计入运行时代码比较;旧系统仍保留作回退资产,但新系统没有运行时导入。
唯一出口
| 能力 | 权威入口 | 审计结果 |
|---|---|---|
| 浏览器请求 | frontend/src/shared/api/client.ts |
全站仅此文件直接调用fetch |
| 外部行情 | backend/data/gateway.py+Provider |
业务Feature不直接访问外网 |
| LLM | backend/llm/gateway.py |
问师、问天、复盘助手、自定义公式共用 |
| 弹窗 | DialogHost.vue+UI Store |
无页面级第二套全局弹窗 |
| 设计令牌 | frontend/src/shared/styles/tokens.css |
主题颜色、字号、间距集中 |
| 移动规则 | frontend/src/shared/styles/mobile.css |
不复制移动页面或API |
| 数据演进 | backend/database/migrations/ |
12个有序、带签名migration |
阶段15发现并删除了LLM网关对账户领域具体类的3个反向导入,改为网关内部最小Protocol; 组合根仍注入原服务,没有第二套权限或模型逻辑。基础数据层、数据库层没有反向依赖业务Feature。
大文件复核
章程的400行是维护预警线,不是机械拆分指标。以下超线文件均已逐项复核:
| 文件 | 行数 | 保留原因 | 必须拆分的触发条件 |
|---|---|---|---|
data/providers/tushare.py |
657 | 单一Provider的端点映射和统一传输 | 新增第二种协议或重复传输实现 |
data/gateway.py |
546 | 唯一数据策略、质量门和图表规范化 | 新增非行情领域或独立生命周期 |
market/insights/auction.py |
519 | 一个完整竞价确定性算法 | 新算法出现独立输入/版本/测试 |
market/insights/service.py |
490 | 四类洞察的薄编排,计算已在子模块 | 任一洞察编排可独立部署/调度 |
data/repository.py |
486 | 共享行情领域的版本化存取 | 出现第二数据库或跨域私有写入 |
data/heaven.py |
485 | 问势专用市场输入适配 | 观气/观心开始依赖行情时 |
screener/repository.py |
448 | 选股、运行和跟踪的同事务存取 | 跟踪获得独立生命周期/任务 |
screener/technical.py |
434 | 纯技术因子计算 | 新因子族能形成独立输入契约 |
mobile.css |
537 | 唯一跨页移动规则,按断点组织 | 出现页面冲突或超过650行 |
| 4个领域CSS | 403-415 | 单一领域且仅略超阈值 | 新增覆盖层或跨领域选择器 |
tools/legacy_migration.py |
1,310 | 一次性离线适配;完整覆盖36张表和24种快照,不进入运行时 | 新增第二旧版本或需要常驻运行 |
当前强拆这些文件只会增加接口、跳转和空抽象,不能减少业务复杂度,因此未为满足行数制造目录。
删除与未继承
- 未复制旧
server.py、database.py、app.js、15,465行旧样式或8,570行覆盖样式。 - 未保留用户自主LLM配置、模拟行情、公开网页参与正式计算、策略自动跟踪和手动执行盘后策略。
- 未复制旧原始因子表到新运行时;正式因子由唯一数据网关和盘后任务重建。
- 旧库36条无用户归属的内置策略由当前唯一版本化策略目录取代;历史运行结果保留,不维持第二套策略定义。
- 未引入ORM、通用CRUD、缓存框架、消息队列或第二套前端状态库。
- iFinD、Tushare、东方财富与腾讯职责固定;未做无来源标识的静默多源兜底。
依赖与安全
- npm生产依赖审计:0个已知漏洞。
- Python生产依赖审计:0个已知漏洞。
- 已知令牌、密码片段、私有数据目录和备份归档未进入Git。
- 生产响应增加CSP、
nosniff、拒绝Frame、权限策略、Referrer策略和HTTPS HSTS。 - 生产静态哈希资源长期缓存,SPA入口
no-cache;API错误仍使用统一JSON契约。