分享Claude进行AI编程的相关技巧及程序员未来发展方向
其实提高AI Coding的准确性,核心就几点:精准指令、选对场景、人工校验,精准识别AI在自己业务中的能力,不让AI跑偏,不让一直让AI浪费时间干它搞不定的事。对于咱们安卓开发者来说,不用追求“AI生成完美代码”%100直接交付,而是要学会“指挥AI生成高质量代码及一些平常耗时的业务代码”。
文章目录
背景
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架构,继承项目BaseActivity,RecyclerView用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做不了的事情。
更多推荐



所有评论(0)