Skip to content

NTT v2.0.0 版本发布

Choose a tag to compare

@Xyf0606 Xyf0606 released this 24 May 09:03
· 19 commits to main since this release
d3bf381

[2.0.0] - 2025-05-24

🚀 重大更新 - 完整三阶段改进

这是一个重大版本更新,包含了完整的三阶段系统改进,显著提升了用户体验、功能性和可靠性。

🌐 第一阶段:基础设施建设

双语国际化支持系统

  • 新增 完整的中文/英文双语界面支持
  • 新增 运行时语言切换功能
  • 新增 外部翻译文件支持 (config/translations.json)
  • 新增 内置默认翻译作为后备
  • 新增 便利宏 _()_f() 简化多语言开发
  • 实现文件: include/core/i18n.h, src/core/i18n.cpp

统一配置管理系统

  • 新增 JSON 格式配置文件 (config/config.json)
  • 新增 自动创建默认配置
  • 新增 运行时配置修改和持久化保存
  • 新增 单例模式确保全局配置一致性
  • 支持配置项: 语言设置、路径配置、置信度、UI 选项、数据处理限制
  • 实现文件: include/core/config.h, src/core/config.cpp

增强错误处理系统

  • 新增 分类错误代码系统(文件、数据、计算、网络、配置、系统)
  • 新增 多语言错误消息和用户友好的解决建议
  • 新增 自定义异常类 NeumannException
  • 新增 统一错误日志记录和显示
  • 实现文件: include/core/error_handler.h, src/core/error_handler.cpp

🎨 第二阶段:用户体验提升

彩色终端输出系统

  • 新增 完整的 ANSI 颜色支持(16 色 + 亮色变体)
  • 新增 文本样式支持(加粗、斜体、下划线等)
  • 新增 自动平台检测和兼容性处理
  • 新增 Windows 10+ ANSI 转义序列支持
  • 新增 便利的消息类型函数(成功、警告、错误、信息)
  • 实现文件: include/cli/terminal_utils.h, src/cli/terminal_utils.cpp

进度指示器和加载动画

  • 新增 可配置的进度条显示
  • 新增 旋转加载指示器(Spinner)
  • 新增 实时进度更新和光标控制
  • 新增 清屏和终端操作功能

增强的表格格式化

  • 新增 自动列宽调整和多种对齐方式
  • 新增 彩色表格分隔线
  • 新增 内容截断和省略处理
  • 新增 中文字符宽度正确计算

Excel 文件支持基础架构

  • 新增 文件类型自动检测(.csv, .xlsx, .xls)
  • 新增 增强的 CSV 解析(支持引号字段)
  • 新增 自动列类型检测(数值/文本)
  • 新增 智能时间列和数据列识别
  • 新增 数据预览和验证功能
  • 实现文件: include/core/excel_reader.h, src/core/excel_reader.cpp

CLI 界面全面美化

  • 改进 集成彩色输出到所有界面元素
  • 改进 美化的欢迎界面和菜单系统
  • 改进 彩色的测试结果表格(趋势结果颜色编码)
  • 改进 进度指示器集成
  • 改进 统一的消息样式和错误显示

🔧 第三阶段:标准值修正和验证

标准值表数据修正

  • 🐛 修复 标准值表中 P(95%)和 P(99%)数据不匹配问题
  • 🐛 修复 JSON 文件中数据排序问题,确保按样本数升序排列
  • 更新 置信度选择界面,动态显示支持的置信度
  • 验证 大数据集处理能力(4-60 个数据点)
  • 新增 大数据集测试文件:
    • large_dataset_45_points.csv (45 个数据点)
    • extra_large_dataset_55_points.csv (55 个数据点)

批量处理系统

  • 新增 目录扫描和批量文件处理
  • 新增 实时进度显示和错误处理
  • 新增 批量结果汇总和统计分析
  • 新增 CSV 和 HTML 格式的批量报告导出
  • 实现文件: include/core/batch_processor.h, src/core/batch_processor.cpp

数据可视化系统

  • 新增 ASCII 艺术图表(CLI 内实时显示)
  • 新增 SVG 格式高质量矢量图表导出
  • 新增 趋势图、PG 值分布图、阈值比较图
  • 实现文件: include/core/data_visualization.h, src/core/data_visualization.cpp

高级统计功能

  • 新增 多数据集统计分析
  • 新增 趋势检测统计汇总
  • 新增 PG 值分布分析
  • 新增 数据集比较功能

🛠️ 技术架构改进

模块化设计

  • 重构 核心算法、CLI 界面、Web 服务完全分离
  • 实现 单例模式确保全局状态一致性
  • 应用 RAII 模式实现自动资源管理

性能优化

  • 优化 静态链接,无运行时依赖
  • 优化 O(n²)时间复杂度的 PG 值计算算法
  • 优化 数据流式处理,支持大型数据集

跨平台兼容性

  • Windows: 原生 ANSI 颜色支持,UTF-8 编码
  • Linux/macOS: 完整 POSIX 兼容,终端颜色自适应
  • Web 标准: HTML5 + JavaScript,现代浏览器支持

📁 文件发布系统改进

发布包生成

  • 改进 create-release.bat 脚本,支持特殊字符文件名
  • 新增 自动复制标准值参考文件(MD 和 PDF 格式)
  • 改进 用户说明文档生成
  • 新增 完整的目录结构说明

启动脚本更新

  • 更新 start-cli-app.batstart-web-app.bat
  • 新增 参数传递支持
  • 改进 错误处理和用户提示

📊 数据处理能力扩展

扩展的数据点支持

  • 扩展 样本数量支持从 4-20 扩展到 4-60
  • 验证 大数据集处理稳定性
  • 新增 置信度支持:95%, 99%, 99.9%(移除 0.90 和 0.975)

数据格式支持

  • 完善 CSV 文件解析,支持复杂格式
  • 准备 Excel 文件支持框架
  • 新增 数据验证和清理功能

🌐 多语言支持完善

翻译内容扩展

  • 新增 558 项完整的中英文翻译条目
  • 覆盖 所有 UI 元素、错误消息、帮助信息
  • 新增 Excel 文件、批量处理、数据可视化相关翻译
  • 新增 教程系统和统计分析翻译

国际化框架

  • 支持 运行时语言切换
  • 支持 外部翻译文件加载
  • 支持 格式化字符串翻译

⚙️ 配置系统完善

配置项扩展

{
  "language": "zh", // 界面语言
  "defaultConfidenceLevel": 0.95, // 默认置信度
  "dataDirectory": "data", // 数据目录
  "webRootDirectory": "web", // Web资源目录
  "defaultWebPort": 8080, // Web端口
  "showWelcomeMessage": true, // 显示欢迎消息
  "enableColorOutput": true, // 彩色输出
  "maxDataPoints": 1000, // 最大数据点数
  "autoSaveResults": true // 自动保存结果
}

🧪 测试和验证

示例数据扩展

  • 新增 large_dataset_45_points.csv - 45 个数据点的药物含量趋势
  • 新增 extra_large_dataset_55_points.csv - 55 个数据点的活性成分衰减
  • 保留 原有示例数据集
  • 新增 大数据集处理说明文档

功能验证

  • 验证 标准值表数据正确性
  • 验证 大数据集处理稳定性
  • 验证 跨平台兼容性
  • 验证 彩色输出在不同终端的表现

📚 文档更新

用户文档

  • 全面更新 README.md,包含完整功能介绍
  • 新增 快速开始指南和详细使用说明
  • 新增 故障排除和性能建议章节
  • 新增 技术特性和架构说明

开发文档

  • 新增 贡献指南和开发环境设置
  • 更新 构建说明和依赖要求
  • 完善 API 文档和代码注释

🔄 向后兼容性

  • 保持 原有数据格式兼容性
  • 保持 命令行参数兼容性
  • 支持 配置文件自动迁移
  • 保持 Web API 兼容性

⚠️ 重大变更

  1. 置信度支持变更:移除 0.90 和 0.975 置信度,标准化为 0.95, 0.99, 0.999
  2. 样本数量扩展:从 4-20 扩展到 4-60 个数据点
  3. 配置文件格式:新增多个配置项,旧配置文件会自动升级
  4. 文件结构调整:标准值文件和翻译文件位置调整

其他改进

  1. 移除create-release.bat:该发布脚本现在更名为install.bat,存放在NTT-x86_64-windows-v2.0.0-build.zip中,供 Windows 用户自行构建release
  2. 添加.clang-format:统一代码风格
  3. 修改config/文件可见性:移除普通用户在程序中修改默认配置的权限,用户配置单独储存