datai/docs/retros/2026-01-21-003-01-retro.md

8.7 KiB
Raw Blame History

Salesforce 多系统配置复盘文档

元数据

  • 需求编号2026-01-21-003-01
  • 复盘日期2026-01-22
  • 复盘类型:开发复盘
  • 参与人员SSOT 架构师
  • 复盘状态:已完成

复盘概述

本次复盘针对 Salesforce 多系统配置功能的开发过程进行总结,分析开发过程中的亮点、问题和改进点,为后续开发提供参考。

项目目标回顾

原始目标

实现 Salesforce 多系统配置功能,包括:

  1. 支持配置多个不同类型的 Salesforce 系统
  2. 支持用户自定义系统类型
  3. 支持区分源 org 和目标 org
  4. 支持配置系统名称、登录方式、OAuth 信息、用户凭证等
  5. 支持启用/停用系统
  6. 支持系统配置的增删改查操作
  7. 密码、安全令牌等敏感信息使用 EncryptUtils 加密存储

目标达成情况

  • 所有功能点均已实现
  • 代码生成和修复工作已完成
  • 所有 API 端点均已实现
  • 数据库表已创建
  • 文档已完善

亮点总结

1. 代码生成器验证流程

在代码生成前,先扫描项目目录检查是否已存在生成的代码,避免重复生成和覆盖现有代码。这一流程确保了代码生成的安全性和可控性。

2. 敏感字段处理

根据用户需求,保留 DTO 和 VO 类中的敏感字段,同时在数据库中使用 EncryptUtils 加密存储,既满足了业务需求,又保证了数据安全。

3. 系统名称唯一性验证

在添加和修改系统配置时,实现了系统名称唯一性验证,避免了重复配置的问题。

4. 启用/停用功能

实现了系统的启用和停用功能,为系统管理提供了更好的灵活性。

5. 源 org 和目标 org 列表查询

提供了专门的 API 端点查询源 org 和目标 org 列表,方便后续数据同步功能的使用。

问题分析

问题 1代码生成器生成的方法名与需求不一致

问题描述:代码生成器生成的 Mapper 接口方法名与需求文档中定义的方法名不一致,导致需要手动修改。

影响

  • 增加了额外的工作量
  • 可能导致前后端对接问题

原因分析

  • 代码生成器的提示词可能不够详细
  • 代码生成器可能没有完全理解需求文档中的命名规范

解决方案

  • 手动修改 Mapper 接口方法名
  • 同步更新 Mapper XML 中的 SQL 语句 ID
  • 确保所有方法命名遵循统一的命名规范

改进建议

  • 在代码生成提示词中明确指定方法命名规范
  • 在代码生成后增加自动验证步骤,检查方法名是否符合需求

问题 2生成的 Service 接口缺少必需方法

问题描述:代码生成器生成的 Service 接口缺少需求文档中要求的多个方法,需要手动添加。

影响

  • 增加了额外的工作量
  • 可能导致功能不完整

原因分析

  • 代码生成器可能没有完全理解需求文档中的所有功能点
  • 代码生成提示词可能不够详细

解决方案

  • 扩展 Service 接口,添加缺失的方法
  • 在 Service 实现类中实现新添加的方法
  • 在 Controller 中调用新添加的方法

改进建议

  • 在代码生成提示词中明确列出所有需要的方法
  • 在代码生成后增加自动验证步骤,检查 Service 接口是否完整

问题 3生成的 Controller API 路径和端点不完整

问题描述:代码生成器生成的 Controller API 路径和端点与需求文档不一致,缺少多个端点。

影响

  • 增加了额外的工作量
  • 可能导致前后端对接问题

原因分析

  • 代码生成器可能没有完全理解需求文档中的所有 API 端点
  • 代码生成提示词可能不够详细

解决方案

  • 更新 Controller 的 API 路径
  • 添加缺失的端点(启用、停用、源 org 列表、目标 org 列表)
  • 确保所有端点都有正确的权限控制和日志记录

改进建议

  • 在代码生成提示词中明确列出所有 API 端点
  • 在代码生成后增加自动验证步骤,检查 Controller 是否完整

经验教训

1. 代码生成前的准备工作很重要

在代码生成前,需要仔细阅读需求文档,确保代码生成提示词足够详细,能够准确传达需求。

2. 代码生成后的验证工作必不可少

代码生成后,需要仔细对照需求文档,检查生成的代码是否符合需求,确保所有功能点都已实现。

3. 方法命名规范需要统一

在开发过程中,需要保持方法命名的一致性,遵循统一的命名规范,提高代码的可读性和可维护性。

4. 接口完整性需要保证

Service 接口需要提供完整的业务操作方法,确保所有需求功能都能通过 Service 层实现。

5. API 设计需要与需求文档保持一致

API 路径和端点需要与需求文档保持一致,确保前后端对接顺畅。

改进建议

1. 优化代码生成提示词

在代码生成提示词中明确指定:

  • 方法命名规范
  • 所有需要的方法列表
  • 所有 API 端点列表
  • 字段命名规范

2. 增加代码生成后的自动验证

在代码生成后,增加自动验证步骤:

  • 检查方法名是否符合需求
  • 检查 Service 接口是否完整
  • 检查 Controller 是否完整
  • 检查 API 路径和端点是否符合需求

3. 建立代码审查流程

在代码生成后,建立代码审查流程,确保生成的代码质量:

  • 检查代码是否符合项目规范
  • 检查代码是否完整
  • 检查代码是否有潜在问题

4. 完善单元测试

为生成的代码编写单元测试,确保代码质量:

  • 测试所有 Service 方法
  • 测试所有 Controller 端点
  • 测试边界条件和异常情况

5. 加强文档管理

完善文档管理,确保文档与代码同步:

  • 在代码变更时同步更新文档
  • 在需求变更时及时更新文档
  • 定期检查文档与代码的一致性

技术债务

1. 单元测试缺失

当前生成的代码缺少单元测试,需要补充单元测试以提高代码质量。

2. 集成测试缺失

当前缺少集成测试,需要补充集成测试以确保各层之间的协作正常。

3. API 测试缺失

当前缺少 API 测试,需要补充 API 测试以确保 API 端点正常工作。

4. 性能测试缺失

当前缺少性能测试,需要补充性能测试以确保系统性能满足要求。

后续计划

1. 补充测试

  • 补充单元测试
  • 补充集成测试
  • 补充 API 测试
  • 补充性能测试

2. 优化代码

  • 优化代码结构
  • 优化代码性能
  • 优化代码可读性

3. 完善文档

  • 完善 API 文档
  • 完善开发文档
  • 完善运维文档

4. 继续开发

  • 开发 Salesforce 策略模式登录功能
  • 开发 Salesforce 登录历史功能
  • 开发 Salesforce 缓存优化功能
  • 开发 Salesforce 会话管理功能
  • 开发 Salesforce 登录状态查询功能
  • 开发 Salesforce 错误码映射功能

总结

本次 Salesforce 多系统配置功能的开发工作已基本完成,所有功能点均已实现,代码质量良好,文档完善。在开发过程中,我们遇到了一些问题,但都得到了解决。通过本次开发,我们积累了宝贵的经验,为后续开发提供了参考。

在后续的开发中,我们将继续优化代码生成流程,提高代码生成质量,加强测试工作,确保代码质量和系统稳定性。

附录

相关文档

相关代码