服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

用 Copliot 帮你搞定 Java 样板代码

日期: 来源:ImportNew收集编辑:

(给ImportNew加星标,提高Java技能)


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 的前几步,测试它是否可以成为我编程助手,一个真正意义上的“结对编程小伙伴”。

组装 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 方法。

创建带有 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 而不是文件位置。


转自:Lucas Jellema,

链接:technology.amis.nl


- EOF -

推荐阅读  点击标题可跳转

1、聊聊 ChatGPT 如何为开发者所用

2、Spring + OpenAI 生成图像

3、后端思维篇:手把手教你写一个并行调用模板


看完本文有收获?请转发分享给更多人

关注「ImportNew」,提升Java技能

点赞和在看就是最大的支持❤️


相关阅读

  • 实战:使用 PyTorch 和 OpenCV 实现实时目标检测系统

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达一、引言自动驾驶汽车可能仍然难以理解人类和垃圾桶之间的区别,但这并没有使最先进的物体检测模型在过去十年中取
  • 每日安全动态推送(3-24)

  • Tencent Security Xuanwu Lab Daily News• Patch Tuesday -> Exploit Wednesday: Pwning Windows Ancillary Function Driver for WinSock (afd.sys) in 24 Hours:https://
  • 有了它,我卸载了Everthing

  • 曾经,我对 Windows 自带的文件搜索仿佛有一种执念,它是这样的........像极了我们的人生,不顾一切地等一个结果,最后却一无所获,我就想搜索个文件!它真的我哭死。不得不说,Windows自
  • PHP开发服务器远程源代码泄露漏洞原理剖析

  • ‍PHP Built-in Server是PHP自带的Web服务器,多用于在研发阶段快速启动并运行一个可以执行PHP脚本的Web服务器。由于其性能及安全性并没有得到完好的保障,故PHP官方并不建议在
  • 聊聊NDK开发那些事

  • / 今日科技快讯 /近日,中国移动(股价63.6港元,市值1.4万亿港元)在港交所发布2022年年度业绩公告,2022年实现营运收入为9373亿元,同比增长10.5%。公司股东应占利润为1254.59亿

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 用 Copliot 帮你搞定 Java 样板代码

  • (给ImportNew加星标,提高Java技能)GitHub Copilot 帮我开发了一个处理 CSV 文件的 Java 应用程序。虽然不是什么很困难的任务,但在 Java 中总是感觉比在 Python 或 Node 中更难
  • 《催化学报》2023年第47卷,欢迎关注!

  • Chinese Journal of Catalysis 2023年第47卷,点击每篇题目可跳转至Elsevier网站阅读下载全文;国内网站:www.cjcatal.com(创刊以来所有文章免费下载) 投稿网址: https://mc03.manu
  • 第一个ChatGPT单!赚了3K!

  • 最近,我在疯狂测试ChatGPT。有让我惊喜的地方,也有让我无语的地方。写代码的速度提高了。无语的地方,有的很简单的问题回答的五花八门。回答不准确的问题,确实训练下就好多了。