Redian新闻
>
用 Copliot 帮你搞定 Java 样板代码

用 Copliot 帮你搞定 Java 样板代码

公众号新闻

点击上方“芋道源码”,选择“设为星标

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

 
来源:technology.amis.nl

GitHub Copilot 帮我开发了一个处理 CSV 文件的 Java 应用程序。虽然不是什么很困难的任务,但在 Java 中总是感觉比在 Python 或 Node 中更难。由于这次有了 Copilot 的加持,只需要输入两个简单的命令,选择合适的工具建议点击“接受”就搞定了。

本文的 GitHub 仓库:

https://github.com/lucasjellema/my-codepilot-explorations

两个命令:

  • 加载 CSV 文件并将数据存储在映射列表中的类
  • 打印列名

下面开始介绍具体的步骤。

开始使用 Copilot

首先,要设置好 Copilot。在安装 Copilot 的 VS Code 扩展之后,按照说明文档注册并使用 Copilot(可免费试用 60 天)。我已经在 VS Code 中完成了 Copilot 的前几步,测试它是否可以成为我编程助手,一个真正意义上的“结对编程小伙伴”。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

组装 Java 应用程序以处理 CSV 数据文件

第一个试验是创建一个简单的 Java 应用程序,读取一个 CSV 文件并将数据转换为可以轻松处理的数据结构。感觉上似乎比 Node 或 Python 程序更复杂的任务。

要创建处理 CSV 文件的 Java 类

  • 在目录 javapilot 中创建名为 DataProcessor.java 的文件
  • 输入 // class for loading a csv file and storing data in a list of maps
  • 按下 Ctrl+Enter

从打开的 GitHub Copilot 选项中选择列表中的第一个解决方案。将光标定位在粘贴的代码末尾,按 Ctrl+Enter 获取如何继续的建议。

接受第一个建议:添加 getData 和 getColumnNames 方法以及 main 方法。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

创建带有 Country 数据的示例 CSV 文件

按照下面步骤创建包含 Country 数据的 CSV 文件:

  • 创建名为 data.csv 的文件
  • 输入 // records for countries with comma separated values for country name, language, capital and population
  • 按下 Ctrl+Enter

接受第一个解决方案。

需要进行一些后处理,以删除 // Example: ” and ” + newline

接受 Copilot 的建议,使用有列名的第一行。删除原始注释。

运行 Java 类。输出显示 Java 应用程序处理的 CSV 中的 Country 数据。

为了实现输出列名,需要执行以下步骤:

  • 在 main 方法的 for 循环之前添加注释 // print names of columns
  • 按 Ctrl+Enter
  • 接受第一个解决方案

再次运行 Java 类。现在列名也加进去了。

结论

在创建一个空的 Java 文件后,输入了以下两个建议:

// class for loading a csv file and storing data in a list of maps

// print names of columns

然后使用 Ctrl+Enter 三次来获取应用程序的代码片段,就可以成功地编写了一个 Java 程序,实现了我想要的功能。虽然我现在并不是一位熟练的 Java 程序员,但如果我自己完成这个任务的话,时间会更长(即使只是因为我显然在输入任何文本或代码时都会出现很多错别字),而且可能会导致更多的挫折感。

还需要在一个空的 csv 文件中添加一条附加的注释,以生成一个包含 Country 记录的示例 csv 文件:

// records for countries with comma separated values for country name, language, capital and population

在接受 Copilot 的提议之后,我需要对文件进行一些微调以便于使用。公平地说,Copilot 建议了一些来自 GitHub 的可用 CSV 文件。

注意:如果你执行的步骤和我一模一样,也可能会得到不同的结果。Copilot 在不断改进,给出的建议也会随着其演进以及使用环境(以及一些或许没有人完全理解的因素)而有所不同。

从 URL 下载 CSV 数据

让我们尝试创建一个 Java 应用程序,从 GitHub 获取其 CSV 文件,并执行与之前相似的处理。

  • 创建一个名为 DataProcessor2.java 的空文件
  • 添加注释 // class for downloading a csv file from GitHub and storing data in a list of maps
  • 按下 Ctrl+Enter
  • 从打开的 GitHub Copilot 选项卡中选择第三个解决方案

最终结果与之前的 DataProcessor 非常相似,有三个不同之处:

  1. 构造函数的输入参数称为 url。

  2. InputStreamReader 是由 URL 对象创建的。

  3. 构造函数传入的值应该是 URL 而不是文件位置。



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
2023新版B1/B2 美国签证更新电子系统说明!手把手教你搞定!谷歌又有新动作,colab集成Ai,帮你自动写代码!多线程如何实现事务回滚?一招帮你搞定!祝贺Replit估值11.6亿美金【AMINO被投企业】AI代码生成平台Replit融资9740万美金杭电小哥抢先搞定GPT读图功能,单卡就能实现新SOTA,代码已开源|CVPR2023暗访新盘样板房后,我们建议带上TAChatGPT科研神器:论文翻译润色一键搞定,还能帮你读代码 | GitHub热榜GPT-4 Copilot X震撼来袭!AI写代码效率10倍提升,码农遭降维打击煮屁话禅茶(八)屁用不顶Springboot代码混淆,别再让代码在线上进行裸奔40岁胡歌官宣生女!老婆不是江疏影,而是圈外女子,疑似某护士高质量Presentation,这几招帮你搞定!牛仔裤别乱买!4个选款教你搞定夏季穿搭,时髦又显瘦!爆肝50道面试题,彻底帮你搞定多线程面试!集成GPT-4的编程神器来了,GitHub发布Copilot X:编程30年,突然就不需要手敲代码了?!同心智医与三博脑科医院联合打造脑科学技术临床应用新样板讲座预告 | 老学长支招! 教你搞定选课、科研、GPA!只需72小时,全博士阵容帮你搞定的2023申请文书!银行危机蔓延 纽交所美航空股下跌6%!参院确认前洛杉矶市长出任美驻印大使!NASA最新登月服样板揭晓!加拉加斯全球“最危险”城市Hong Kong TV Company Deploys Stars as Salespeople on Taobao小费变味了国家一级演员杜雨露:死于癌症,只有6人参加葬礼,遗孀的行为让人泪目留学生到底怎么报税?超全加拿大报税指南,手把手教你搞定报税季![电脑] 欢迎莅临13代酷睿+40系显卡DIY装机样板间!二次元白色海景房走进制造重镇东莞:风险减量服务高质量发展的中国平安样板Relate Anything来了!帮你搞定一切关系!章子怡在海南拼桌吃火锅,素颜样子真的很老,汪峰秃顶像60多岁的从简历、技巧到面试题精讲,带你搞定Java面试 | 极客时间【步骤】微信全面支持注册第二个账号:手把手教你搞定样板间1.3米的床,实际只有1.19米,客户经理都懵了!销售人员:开发商定做,肯定不是常规尺寸【圣地亚哥样板房出售】南加州Oceanside楼盘3卧公寓新房【2023.02.09】工作中如何时间管理?让《搞定》帮你搞定一篇带你搞定波士顿3W地区公立高中~GPT-4 Copilot X 震撼来袭!AI 写代码效率 10 倍提升,码农遭降维打击不想黑头泛滥,油光满面,不到 40 元帮你搞定
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。