文章目录背景一、核心前提指令要“精准落地”别让AI猜需求二、场景适配选对场景避开AI的“短板”✅ 高准确率建议使用AI场景的案例❌ 低准确率场景尽量不用避免内耗三、AI Code关键技巧及注意点四、总结AI是工具精准使用才是关键切勿完全依赖有了AI Code后未来程序员核心竞争力变化背景AI Code工具现在已经成为我们程序员必备工具如何很好使用AI编程也编程我们程序员必备技能我们必须要会使用它来辅助提效工作针对近期使用的一些AI Code工具进行一些分享一些使用的经验感受。使用过的一些AI Code软件Claude Code --写代码首选直接本地操作写代码生成工程也可以进行编译很方便模型选择大家自行根据情况。google gemini —这个只是网页版本不过只能问答方式不能直接写成工程写的代码质量可以大家如果要写成一个app工程可以最后提示一下让生成python脚本执行就可以生成工程。下面开始分享一些AI Code工具的一些经验和感受。一、核心前提指令要“精准落地”别让AI猜需求AI的本质是“自然语言转代码”你给的指令越模糊AI猜得越离谱准确率自然就低。咱们安卓开发最容易踩的坑就是指令太笼统比如“写一个用户页面”“封装一个网络工具类”这样的指令AI只能给你通用模板根本不符合你项目的实际情况。正确的做法是指令里必须包含「技术栈项目规范具体需求细节约束」尤其是安卓开发的专属细节一定要写清楚避免AI生成“通用垃圾代码”。举个反面例子大家常犯的错❌ 错误指令用Kotlin写一个安卓列表页面这种指令AI会生成一个最基础的RecyclerView页面没有适配你的项目BaseAdapter、没有对齐UI规范、没有处理空数据、没有点击事件生成后基本没法用还得大幅度修改。✅ 正确指令用Kotlin写一个安卓用户动态列表页面基于MVVM架构继承项目BaseActivityRecyclerView用BRVAH框架item布局包含头像圆形、用户名16sp黑色、动态内容14sp灰色支持item点击跳转详情页空数据时显示默认占位图适配Android 11及以上版本避免内存泄漏。这样的指令AI能精准get到你的需求生成的代码基本贴合项目规范不用大改准确率直接拉满。这里给大家一个安卓专属的指令模板直接套用即可「用[Kotlin/Java]写安卓[具体功能如登录页面/网络工具类]基于[架构如MVVM/MVI]遵循项目规范[如继承BaseActivity、使用Retrofit2网络框架、控件命名规范、埋点要求]具体需求[如输入校验、接口回调、页面跳转逻辑]细节约束[如适配版本、避免内存泄漏、UI对齐设计稿、处理异常场景]」另外补充一点安卓开发中很多细节无法用语言一次性说清比如UI间距、颜色值可以直接把设计稿截图、项目里的Base类代码片段一起发给AI让AI参考准确率会更高——比如你把项目的BaseAdapter代码发给AI它生成的Adapter就会自动对齐你的项目风格不用再手动修改继承关系和通用方法。二、场景适配选对场景避开AI的“短板”之前跟大家聊过AI有自己的“舒适区”和“雷区”想要提高准确率首先要明确哪些场景适合用AI哪些场景坚决不能依赖AI——选对场景准确率自然就高反之再精准的指令也没用。结合安卓开发场景给大家明确划分直接对号入座✅ 高准确率建议使用AI场景的案例1. ui相关页面业务基础代码生成以前经常都是视觉出图然后程序员按照图写xml代码等。比如RecyclerView Adapter、ViewHolder、简单XML布局、Shape样式、selector选择器这类需求固定、没有复杂逻辑只要指令精准参考精准AI能做到100%贴合需求。2. 工具类封装SharedPreferences、MMKV、SPUtils、日志工具类、日期工具类这类代码逻辑固定没有业务依赖AI生成后简单检查一遍语法就能直接使用。3. 接口相关代码Retrofit接口定义、请求实体、响应实体、简单的回调处理只要你把接口文档或接口地址、参数说明发给AI它能快速生成对应代码避免手动敲错参数名、漏写注解。4. 版本适配、API查询比如“Android 13 通知权限适配代码”“Android 14 应用安装权限修改”AI能快速给出适配方案比自己搜文档、查博客更快准确率也高。5. 内部提效小工具、demo开发比如你自己写一个测试demo、日志解析脚本、批量生成实体类的工具没有严格的产品/UI约束只要能达到核心目标AI生成的代码完全可用准确率100%。比如马哥就给自己做了一个图层展示优化小工具直接展示出当前手机上所有的显示图层这样又有区域又有3d展示效果图层名字工具成果如下图也对dumpsys SurfaceFlinger有进行优化大家可以看看效果6. 要写一些固定业务的代码或者一些没有很大技术含量的但是工作量巨大的任务例如对某个系统编译的系统app要进行独立化成android studio会有很多使用hide接口都要变成反射接口的场景。7.经常导入一些其他第三方的android studio的app工程到android studio会发现有各种gradle版本不匹配java版本不匹配等等环境问题这种问题最让人头疼遇到这类问题以前只能靠网络blog帮你给答案但是很多时候又找不到而且你也不知道怎么分析。这个时候大家完全可以交给AI Code工具让帮你编译通过。其他若干场景不再一一叙述简单说就是一些本身业务不复杂的很耗时间的类似体力活交给AI搞定。❌ 低准确率场景尽量不用避免内耗1. 复杂业务逻辑、系统级framework逻辑比如WMS流程、SurfaceFlinger显示逻辑、AMS调度逻辑、事件分发机制AI无法理解整体流程生成的代码大概率有逻辑漏洞准确率极低目前的AI大模型对这块知识欠缺而且每个aosp版本代码都在升级每个版本代码方法都会有差别但是AI又是帮你写代码的所以错误概率很大。2. 非必现bug、诡异问题排查比如偶尔黑屏、偶发ANR、特殊机型崩溃、Winscope里的分析闪黑闪屏闪白这类问题AI只能根据有限信息瞎猜很容易进入自我分析死循环不仅准确率为0还会误导你排查方向白白浪费大量时间最后还是搞不定。这类问题还是需要大家的业务精通能力去自己定位分析目前AI也无法替代做好。3. 厂商定制相关开发小米、华为、vivo等定制ROM的适配代码AI没有足够的厂商定制经验生成的代码往往无法适配甚至会引发新的问题。4. 核心业务核心模块比如支付接口、隐私数据处理、权限管理核心逻辑这类代码要求极高AI生成的代码可能存在安全隐患、逻辑疏漏准确率无法保证必须自己手动编写、反复调试。三、AI Code关键技巧及注意点1、分细小模块及时检查验证AI生成代码是否符合要求就像我们程序员开发项目都是每个模块每个函数进行测试好然后联调通过这样可以尽量把错误缩小范围而不会到最后项目整合有问题来排查就很费力了。AI每一轮生成后检查代码是否符合需求然后针对不足补充更精准的指令让AI逐步优化——这样下来代码准确率会越来越高比一次性让AI生成完整代码省去很多修改时间。2、一定要自己非常熟悉业务模块及较强的分析问题能力不管指令多精准、场景多合适AI生成的代码都不可能100%完美——就像我之前说的AI能完成90%最后10%的漏洞、细节必须靠我们自己补齐这也是提高AI Coding准确率的关键一步。AI只是可以帮助提高完成工作的时间效率减少重复业务代码的任务绝不是可以帮你完全交付产品项目水平。最后还是要你人来兜底。3、修复一些AI代码项目bug问题时候尽量给AI Code配置好调试验证环境及相关调试命令这样AI可以自己进行修改调试验证不需要每次ai改完后人为干预帮忙测试反馈。4、经常会遇到AI Code修复很久无法修复一些问题很可能已经偏离方向这个时候需要大家介入帮忙分析指引方向。四、总结AI是工具精准使用才是关键切勿完全依赖其实提高AI Coding的准确性核心就几点精准指令、选对场景、人工校验精准识别AI在自己业务中的能力不让AI跑偏不让一直让AI浪费时间干它搞不定的事。对于咱们安卓开发者来说不用追求“AI生成完美代码”%100直接交付而是要学会“指挥AI生成高质量代码及一些平常耗时的业务代码”。AI能帮我们省去繁琐的重复劳动让我们有更多时间去研究Framework、排查复杂bug、理解业务逻辑但它永远替代不了我们的核心能力——对系统业务模块的理解、对业务的把握、对代码质量的判断对疑难问题分析和解决能力这些也是最后产品是否可以交付的关键产品开发绝不是让AI做个demo能看的过去就行。有了AI Code后未来程序员核心竞争力变化1、学会使用AI Code来熟悉AI Code能帮你的工作做那些事而且想办法使用自己的一些skill优化让AI Code做的更好AI能做的事情尽量让AI做。2、准确识别AI不能做的事AI做不好的事识别后要重新考虑引导AI提供思路线索等把AI带回这样就不会让AI Code陷入死循环或者把代码越改越差注意可以考虑让AI做好相关每个输出版本的git等以防AI修改过程改的糟糕了回不去。3、自己要更加精通深入自己的业务模块AI只是让你减少了不用去写大量重复代码绝不是让你可以彻底不需要懂业务代码也绝不是一个完全不懂业务小白指挥AI工作然后就可以把你替代。因为真正AI做不出来的那%10或者很多时候出现的一些问题都是需要你对技术和业务的精通能力才可以搞定。其实程序员们的核心竞争力本质上没有变化哪怕没有AI Code说实话高级程序员没有会以自己会编写多少业务代码数量为能力强弱判断都是以你对业务模块熟悉程度对业务疑难问题分析解决能力为判断依据。毕竟重复的劳动和业务代码那不是你不能写出来只是会耗费你比较多的时间而已。最后AI Code只是改变了我们工作方式以前要手写很多代码的时间现在很多代码可以直接AI来负责编写我们有更多时间专注在更加核心的业务模块部分做一些AI做不了的事情。原文地址https://mp.weixin.qq.com/s/bCVYJzAFfK81bY_yKSqEHA
阅读完成 · 觉得有帮助?