一起来玩一玩AI编程助手-Cody,可能是程序员的第一个AI编程助手

引言

年初ChatGPT大火,给AI带来了很高的话题度。ChatGPT是内容生成式的AI,作为程序员,我们可以使用更加垂直的编程助手AI,因为之前看Android Framework代码的时候有用到SourceGraph。最近在查看Framework的一些代码资料的时候无意中看到SourceGraph出了一款AI编程助手--Cody,安装使用非常简单,在VS Code试用了一下。觉得挺有意思的,的确可以减轻程序员的一些工作。

快速尝鲜

如果想快速体验,直接注册账号在网页端体验即可。

本地体验

我是在VS Code里面安装Cody AI插件。

配置过程非常简单,就不再赘述了。我主要是分享一下我的使用过程,个人觉得还是挺有意思。以后可以早点下班了 (不是,可以多做几个需求了)

使用

我是在VS Code里面打开一个自己的小项目,然后以这个项目作为Cody的上下文Context。 代码是这样的:

Java 复制代码
public class CategoryActivity extends BaseActivity {
    ...
    //点击按钮跳转到RxjavaActivity
    public void rxjava2(View view) {
        startActivity(new Intent(this, RxjavaActivity.class));
    }
    //点击按钮跳转到OkhttpActivity
    public void okhttp3(View view) {
        startActivity(new Intent(this, OkhttpActivity.class));
    }
    ...
}

没什么特别的,就是在一个Activity里面有很多个按钮,然后点击按钮就跳转到相应的Activity。此时我对Cody说:模仿这个风格,帮我生成跳转到TestActivity的代码,包括TestActivity以及它的xml代码

好家伙,这个指令正确地执行了。看着代码一行一行生成,还是有点震撼的。 此时我转念一想,新建一个Activity是不是得在清单注册一下,于是我说:androidmanifest需要改动吗

嗯,Cody给了个必要的简单写法。这不能说是错的,虽然没有export之类属性,可是我也没有说要适配版本嘛不是。不过吧,既然是已经以当前项目为上下文了,是不是AI回答的时候也加上export呢(有点吹毛求疵了喂)?

让我再想想怎么刁难它,就用它生成的代码来问它吧:jumpToTestActivity这个函数,我想在CategoryActivity的xml里面定义一个按钮,你参考一下CategoryActivity的xml里面的做法吧

按钮生成是生成了,可是我的风格是这样的啊:

可以看到还是有区别的,我的代码是每次要添加按钮的话就copy一份就好了。当然,也不能说它是错的,因为的说法可能有点歧义了。你参考一下CategoryActivity的xml里面的做法吧它理解的做法用android:onClick指定回调函数吧,虽然我本意是想它生成完全一样的代码。 于是为了让它把style加上去,我说:不用你重新定义style,你就直接用它里面的MyButton

没有达成我希望它做的事情,而且项目里也没有com.example.samsung.testdemo.MyButton。 MyButton其实是style: 于是我说:你搞错啦,我想要的是这样的效果style="@style/MyButton" 这下终于完美达成了。此时我还想调戏一下它,不过刚好达到对话次数的上限50次了,要等24小时才能继续对话,就先到此为止吧。

总结

总的来说,个人觉得AI编程助手还是挺有用的,随着对话越来越多,它越来越能理解你的意图。当然,最好是对话的时候说清楚上下文,表达的时候最好清晰点。生活中很多人其实说话经常脱离上下文,这样不仅AI会困惑,就连人也会困惑。决定用来开发提速了,真香!这时候灵活的小伙伴已经把AI开发提速,并团队推广,提升团队开发效率写进OKR了。拥抱AI吧,各位。现在Cody还是免费使用阶段,上手成本低(配置过程极简,我全程用下来几乎没有报错),而且支持中文问答,可以作为程序员的第一款AI编程助手。

彩蛋

后面看看在更加贴近日常开发场景的使用是怎样的,TO BE CONTINUED。

相关推荐
江_小_白30 分钟前
自动驾驶之激光雷达
人工智能·机器学习·自动驾驶
yusaisai大鱼2 小时前
TensorFlow如何调用GPU?
人工智能·tensorflow
Estar.Lee2 小时前
查手机号归属地免费API接口教程
android·网络·后端·网络协议·tcp/ip·oneapi
温辉_xh2 小时前
uiautomator案例
android
工业甲酰苯胺4 小时前
MySQL 主从复制之多线程复制
android·mysql·adb
少说多做3434 小时前
Android 不同情况下使用 runOnUiThread
android·java
珠海新立电子科技有限公司4 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董4 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦5 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
Estar.Lee5 小时前
时间操作[计算时间差]免费API接口教程
android·网络·后端·网络协议·tcp/ip