前言:
现在Ai已经开始慢慢快速的渗透到生活的方方面面,总结文档,生成视频,文字生成图片等都申诉的影响到生活。同理对于一个原生的HarmonyOs项目而言,不管是做游戏还是做应用,Ai在项目中的运用都可以快速提升开发的效率和代码的纠错能力. 这篇文章想通过Ai的使用来快速提升代码开发.
版本与环境
本文测试为 DevEco Studio 6.1 Release、HarmonyOS SDK 6.1.0(23)、Stage 模型 ArkTS 页面

本篇目标
主要使用ai对代码语法的修改的使用和调试
项目调试
1:项目背景
最近在开发一个战旗小游戏,类似于远古帝国,如下图所示:
下图是android版本战旗游戏,在b站上很火,本人想通过鸿蒙语言复刻下该类小游戏,算是一个小小愿望. 对自己也算一个锻炼和训练.

2:项目调试
开始写项目,本人之前Dev一直没有升级使用Api12,13的SDK,然后最近调到Api 23的SDK的时候,代码规范出现了很多问题
例如:
下述代码在Api 23编译报错.

于是查资料,对应官方文档去修改,修改半天,才把一个错误修改正确
后面看到官方文档,使用codeGenie的ai插件直接进行代码规范和错误修改.


最后skill生成报告:
根因和修改理由:
原始报错:
Page 'Index.ets.ets' does not exist- 页面路径配置错误导致重复的.ets扩展名。修复过程中发现的其他问题:
文件 问题 修复方式 main_pages.json页面路径包含 .ets扩展名移除扩展名,改为 pages/IndexGameConstants.ets使用 Record<Enum, string>+ 计算属性名[Enum.VALUE]改用数组索引方式 GameModels.ets类属性未初始化 为所有属性添加默认值 GameEngine.ets内联类型声明、对象展开运算符 定义接口 QueueItem/AttackResult,手动复制对象AIEngine.ets导入路径错误、缺少显式类型标注 经验与建议
- 路由配置 :在
main_pages.json中配置页面路径时,不要添加.ets扩展名,系统会自动添加- 枚举作为键:ArkTS 不支持用枚举数值作为对象属性名,建议使用数组索引或 Map
- 类属性初始化:ArkTS 要求类属性必须在声明时或构造函数中初始化
- 避免展开运算符 :ArkTS 不支持对象展开运算符
{...obj},需手动复制属性- 显式类型标注 :回调函数参数需要显式标注类型,避免
any/unknown类型
直接一键运行修改相应的错误即可:

对应的前后修改和错误原因都会标记出来,很清晰方便.

最后运行项目成功适配Api23版本规范并且运行成功:

总结:
codeGenie对项目中代码的使用修改很方便很快捷,可以快速修改想要api升级后的代码适配问题.
接下来继续开发这个小游戏,一边记录开发该小项目的过程.