路线图
从代码卫生到新功能的开发阶段。2026 年 5 月 18 日快照 — P1 + P2 + P5 + P6 已交付,P3 + P7 进行中。
已交付 进行中 已计划
P5
P5 — 格式转换器
2026-Q1 → Q2 已交付
在 6 个历史端口上交付 16/17 个双向格式转换器,并将 13 个非二进制转换器传播到 9 个附加端口。GeoParquet 延期(依赖于 Apache Parquet)。
- TSV — 委托给带制表符锁定的 CSV 引擎
- YAML — 自研零依赖块子集解析器
- JSONC — 注释去除 + JSON 管道
- JSON5 — 完整 JSON5 超集的自定义分词器
- SOAP — 带命名空间剥离的 XML 包装器
- GeoJSON — RFC 7946 验证
- KML — 带兄弟分组的自研 XML 解析器
- GPX — XML 数组包装器,自动数字解析
- LOG — 可配置正则表达式,模板输出
- Syslog — RFC 5424 + RFC 3164 自动检测
- NPY — 自研零依赖 (NEP-1 v1.0)
- FITS — 自研零依赖 (FITS 4.0 主 HDU)
- MAT v5 — 自研零依赖(10 种数值类)
- DTA v118 — 自研零依赖 (Stata 14)
- RData — 自研零依赖 (R RDS V2/V3 XDR)
- SHP — 自研零依赖 (ESRI Shapefile, 5 种类型)
- SHP 三元组 (.shp + .shx + .dbf) 传播到 11 个端口
- GeoParquet — 延期(依赖于 Parquet)
P1
P1 — 代码卫生
2026-Q1 → Q2 已交付
修复 4 个 Sonar Bug,认知复杂度热点已解决,测试字面量去重。6 个已插桩端口上 0 个打开 Bug、0 个严重、0 个阻塞。
- 修复 4 个 SonarQube Bug(项目范围内 0 个打开 Bug)
- 主要 S3776 认知复杂度热点已解决
- 6 个历史端口上的测试字面量去重
- C / VB.NET / PHP / C# 测试套件按格式拆分
- 0 new_violations · 0 new_bugs · 0 new_blocker · 0 new_critical
P2
P2 — 覆盖率
2026-Q2 已交付
SonarQube new_coverage 达到 83.7%(目标 ≥ 80%)。已插桩 6 个 Tier 1 端口,含 Java JaCoCo + PHP Clover。
- new_coverage:49.9% → 83.7%(目标 ≥ 80% 已达成)
- 项目覆盖率:53.7% → 79.4%
- JS、Python、Go、Rust、Java (JaCoCo)、C#、PHP 全部已插桩
- Quality Gate:3/4 条件 OK(仅剩 hotspots-reviewed 0/0 的怪癖)
P6
P6 — 一致性审计(15 个端口)
2026-Q2 已交付
5 代理一致性审计已关闭(第 6 次执行,2026 年 5 月 18 日)。15/15 个端口 100% 通过,3,365 个测试用例通过,0 HARD-FAIL。已消除 12 个 hot-path concat-N² 站点。
- 已传播 9 个附加端口:PHP、R、Perl、VB.NET、Swift、C++、C、Delphi/FreePascal、Fortran
- Rust 上原生 Serde Serializer(绕过 serde_json::to_value)
- R、Delphi、Fortran 上消除 O(N²) concat hot path(12 个站点)
- SOAP value→XML 直接路径(无 TOON-string 往返)
- 添加 10 个官方 RFC/OGC/spec fixture(geo + RFC + sci)
- 二进制格式 (NPY/FITS/MAT/DTA/RData) 已传播到 PHP、Perl、VB.NET、C、C++
- 全局审计裁定:FAIL → WARN(仅剩外围性能残留)
P3
P3 — 重构
2026-Q3 进行中
按端口的模块化文件拆分,已提取测试项目,共享一致性套件。C# / C / PHP / VB.NET 测试项目已拆分。
- 将单体文件拆分到每文件 500 LOC 以下
- 已提取 csharp/Tests/ToonConverter.Tests.csproj ✓
- C / VB.NET / PHP 测试已按格式拆分 ✓
- 跨端口共享 conformance/ 套件
P7
P7 — 二进制格式传播
2026-Q3 进行中
将 NPY / FITS / MAT v5 / DTA v118 / RData 传播到剩余 4 个附加端口(R、Delphi/FPC、Fortran、Swift)。解决 C++ 残留的二进制债务。
- R、Delphi/FPC、Fortran、Swift 上的二进制格式
- C++ 残留:DTA float = 0.0 + MAT 字节序引用(4 个测试)
- 将 Sonar 覆盖率扩展到 9 个 Tier 2 端口
P4
P4 — 新功能
2026-Q4 → 2027-Q1 已计划
独立 CLI 工具、二进制 TOON 格式、额外映射器(Avro、Protobuf、Parquet — 解锁 GeoParquet)。
- 独立 CLI 转换器
- 二进制 TOON 格式
- Avro 映射器
- Protobuf 映射器
- Parquet 映射器(启用 GeoParquet)