Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
1.8 KiB
1.8 KiB
开发指南和最佳实践
开发原则
- 渐进迭代: 小步快跑,每次提交保持稳定
- 稳定优先: 不破坏现有功能
- 学习复用: 研究现有代码模式,保持一致性
- 架构先行: 设计后实现,确保可维护性
技术栈理解
- Core: C++20, CMake, Pixi包管理
- CAD处理: OpenCASCADE (OCCT) 7.8.1
- 几何算法: CGAL 5.6.1
- 文件格式: STEP输入, GLB输出
- 并行处理: TBB库
- JSON: nlohmann_json
- CLI: CLI11库
开发工作流
- 环境准备:
pixi install&&pixi shell - 理解需求: 分析要实现的功能
- 研究现有代码: 查看相似功能的实现
- 小步实现: 增量开发,频繁测试
- 质量验证: 编译、测试、手动验证
- 文档更新: 必要时更新README和注释
架构约束
- 不修改现有接口: 除非绝对必要
- 向后兼容: 新功能不能破坏现有功能
- 模块化: 保持清晰的模块边界
- 错误处理: 使用C++异常机制
性能考虑
- 大文件处理: 注意内存使用
- 并行处理: 合理使用TBB
- 几何计算: 优化OCCT和CGAL的使用
- I/O操作: 高效的文件读写
调试技巧
- 使用调试模式:
--debug参数获取详细信息 - 分步测试: 从小文件开始测试
- 性能分析: 使用计时器测量关键操作
- 内存检查: 注意OpenCASCADE对象的生命周期
常见陷阱
- 路径处理: Windows路径分隔符问题
- 字符编码: 文件名和路径的编码处理
- 内存管理: OCCT对象的智能指针使用
- 线程安全: 并行处理时的数据竞争
代码审查要点
- 是否遵循现有命名约定
- 错误处理是否完整
- 是否有潜在的内存泄漏
- 性能是否符合预期
- 测试覆盖是否充分