遗留系统迁移
AI辅助遗留系统迁移
基于我们在《系统重构与迁移指南》中积累的经验,我们在AutoDev中开发了一系列AI能力,帮助开发者加速遗留系统改造:
- 辅助生成迁移测试所需的API数据
- 通过文档生成实现知识管理
- 基于注解文档创建活文档业务系统
- 面向对象式的遗留代码重构
- PL/SQL代码生成与Java代码迁移
从现有代码生成API测试数据
1. 生成API测试数据
支持语言:Java
示例截图:
只需右键点击Java Controller代码,选择"Generate Test Data (APIs)"即可生成API测试数据。
2. 自定义提示集成
路径:设置
-> 工具
-> AutoDev
-> 自定义引擎提示
,添加自定义提示。示例:
{
"spec": {
},
"prompts": [
{
"title": "生成API测试用例",
"autoInvoke": false,
"matchRegex": ".*",
"priority": 0,
"template": "根据以下信息生成API测试用例:\n${METHOD_INPUT_OUTPUT}\n代码内容:\n${SELECTION}"
}
],
"documentations": []
}
注释与文档生成
选中对应代码后右键,选择生成文档
即可生成说明文档。
使用自定义活文档生成动态文档
示例截图:
配置路径:设置
-> 工具
-> AutoDev
-> 自定义引擎提示
,添加活文档自定义格式。示例:
{
"spec": {
},
"prompts": [
],
"documentations": [
{
"title": "活文档",
"prompt": "编写活文档。请按以下格式返回:",
"start": "",
"end": "",
"type": "annotated",
"example": {
"question": "public BookMeetingRoomResponse bookMeetingRoom(@RequestBody BookMeetingRoomRequest request) {\n MeetingRoom meetingRoom = meetingRoomService.bookMeetingRoom(request.getMeetingRoomId());\n BookMeetingRoomResponse response = new BookMeetingRoomResponse();\n BeanUtils.copyProperties(meetingRoom, response);\n return response;\n }",
"answer": " @ScenarioDescription(\n given = \"存在ID为123的可用会议室\",\n when = \"用户预定ID为123的会议室\",\n then = \"预定响应应包含已预定会议室的详细信息\"\n )"
}
}
]
}
PL/SQL迁移支持
自1.5.5版本起,AutoDev已支持基础PL/SQL迁移功能:
- 选中PL/SQL代码
- 右键选择:
- 生成实体
- 生成测试用例
- 生成Java代码
示例截图: