Files
xiaobaifupan/next/docs/final/subtraction-audit.md
T

3.9 KiB
Raw Blame History

减法与结构审计

结论

重建版运行时代码共206个源码文件、25,151行;旧版运行时代码共55个文件、61,793行。 在功能完整迁移并增加移动端后,新运行时代码减少36,642行,约59.3%。文件数量增加来自按职责拆分, 不再由server.pyapp.jsstyles.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/ 10个有序、带签名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 629 一次性离线适配,不进入运行时 新增第二旧版本或需要常驻运行

当前强拆这些文件只会增加接口、跳转和空抽象,不能减少业务复杂度,因此未为满足行数制造目录。

删除与未继承

  • 未复制旧server.pydatabase.pyapp.js、15,465行旧样式或8,570行覆盖样式。
  • 未保留用户自主LLM配置、模拟行情、公开网页参与正式计算、策略自动跟踪和手动执行盘后策略。
  • 未复制旧原始因子表到新运行时;正式因子由唯一数据网关和盘后任务重建。
  • 未引入ORM、通用CRUD、缓存框架、消息队列或第二套前端状态库。
  • iFinD、Tushare、东方财富与腾讯职责固定;未做无来源标识的静默多源兜底。

依赖与安全

  • npm生产依赖审计:0个已知漏洞。
  • Python生产依赖审计:0个已知漏洞。
  • 已知令牌、密码片段、私有数据目录和备份归档未进入Git。
  • 生产响应增加CSP、nosniff、拒绝Frame、权限策略、Referrer策略和HTTPS HSTS。
  • 生产静态哈希资源长期缓存,SPA入口no-cacheAPI错误仍使用统一JSON契约。