当前位置: 首页 > 科技观察

写代码效率不高?放开CtrlC和V,让AI为你写代码

时间:2023-03-15 10:52:16 科技观察

作为一名程序员,不知道你是否曾幻想过有一天,你不再需要为Google和Stackoverflow编程,也不再需要Ctrl+C和Ctrl+V,当你在IDE中键入一个编程语言的关键字时,就像导航一样,下一步的代码已经显示出来了。作为一名程序员,不知道你有没有想过,如果有一天,你只需说几句话,或者写几句话,就可以实现你的需求,完成代码开发。说笑间,虫子不见了。一切尽在弹指间。作为一名程序员,不知道你有没有想过,有一天,你在写程序的时候,比如旅游购物,也可以有一个智能助手,告诉你哪些API被更多人调用,他们是如何使用的。这将腾出很多时间来做除了代码之外你想做的其他事情。当然,你也可以接受更多的需求,写更多的代码:-)你有没有想过这种情况?有一个关于程序员的笑话,大意是这样的:一个程序员,技术水平一般,代码往往写得很晚,而且bug很多。他的女朋友很苦恼。过了一段时间,这哥们发现,前一天晚上遗留下来的bug代码,第二天在公司就正常运行了。太惊讶了。某天半夜醒来,突然发现他的女朋友正在帮他修电脑bug……看到一个会写代码修bug的女朋友,是不是让之前的念头更加坚定了?梦想还是存在的,万一实现了呢?不会的,说来就来。今天要说的是“写代码小助手”和“AI代码小能手”。怎么叫都无所谓,开心就叫大黄吧。映入眼帘的是Codota:1、安装并在IDEA的插件列表中搜索,你一定会注意到开头介绍中的“AI代码补全”这句话。当然,在其他的IDE中可能也是类似的。毕竟他们的口号是“AICodeAutocompleteforAllLanguagesandIDEs”,专注于所有语言和IDE。有什么特长,让它走两步,出来走走。插件安装后,写代码的时候提示列表里会有很多浅绿色,就是Codota的内容。2、在使用官方功能介绍的视频中,以JDBC为例。除了这个API的调用提示外,还有自动生成的常用代码片段。否则,人们也不敢这么大声喊叫。比如你刚刚在IDE里面写了一个File,他会问你要干什么。比如常用的文件复制、内容压缩等。如果选择copyFile,会生成如下代码。尝试(FileInputStreamfis=newFileInputStream(srcFile);FileOutputStreamfos=newFileOutputStream(dstFile)){intlen;byte[]buffer=newbyte[4096];while((len=fis.read(buffer))>0){fos.write(buffer,0,len);}}catch(IOExceptione){//...handleIOexception}现在你知道人们大声喊叫的原因了吧。另外,大家有没有注意到,在提示列表中,FileOutputStream和FileWriter这两项后面的数字。这也是除了自动补全之外被称为AI的能力。毕竟有大数据分析。尤其是多个外部项目依赖,如果名字重复,应该用哪个,大数据会告诉你谁是更多人的选择。比如通过Http请求一个资源,除了使用Get/Post、构造Entity、拼接URL,还需要做什么?摸了摸自己越来越稀疏的头发,记下了HttpClient。回头一看,IDE已经提示:ThenPost,用下方向键,用力敲回车,出现这段代码:try{HttpPosthttpPost=newHttpPost("https://example.com");httpPost.setEntity(newStringEntity("{\"key\":\"value\"}",ContentType.APPLICATION_JSON));StringresponseBody=httpClient.execute(httpPost,httpResponse->{intstatus=httpResponse.getStatusLine().getStatusCode();if(status<200||status>=300){//...handleunsuccessfulrequest}HttpEntityentity=httpResponse.getEntity();returnentity!=null?EntityUtils.toString(entity):null;});//...dosomethingwithresponse}catch(IOExceptione){//...handleIOexception}我觉得很多人为了提高代码开发的效率,习惯于记录一些常用的代码片段,一般称之为代码片段,有些编辑器也有这样的管理小工具。这次连Snippet都保存了,CtrlC+V的过程也少了。3、查看更多对提示列表不感兴趣,想看更多例子怎么办?容易做!右键点击某个关键字对应的类名,在弹出的菜单中选择【获取相关示例】,IDE右侧会显示该类的更多demo。右侧显示4。如果还不够,请单击此链接并在浏览器中玩得开心。本文转载自微信公众号“Tomcat物语”,可关注下方二维码。转载此文请联系Tomcat那些东西公众号。