使用Github Copilot完成代码编写
上篇文章,我们使用VSCode创建了T.Global解决方案和两个类库工程,接下来我们使用Github Copilot完成代码编写
先说以下业务需求:
- 提供一个公共的本地化组件,支持对数字、货币、时间、日期、度量衡单位、排序的在不同区域下的处理。
一、新建一个II18NService接口
这里我们使用了以下Prompt
VSCode中,请帮我在T.Core.i10n.SPI工程下新增接口Ii10nService.cs,这个接口中包含以下方法DoubleToString(double value),DecimalToString(decimal value),FloatToString(float value),DateTimeToString(DateTime time)

GitHub Copilot返回的建议是

请把Ii10nService接口中每个方法增加一个多态方法,这个多态方法增加一个参数CultureInfo,请重新给出Ii10nService接口的代码

请为每个方法增加注释

二、新增度量衡服务接口
这里,给到Github Copilot的Prompt:
请再新增一个度量衡服务接口,IMeasurementService.cs, 这个接口中包含以下方法:转换为英寸、转换为英里、转换为英尺,转换为厘米,转换为千米,转换为公里,转换为克,转换为千克,转换为功率,转换为电流,转换有电压等方法,接口和每个方法请添加注释

三、新增一个排序服务类SortService.cs
这里,给到Github Copilot的Prompt:
请再新增一个排序服务类,SortService.cs, 这个类中增加对.NET 各类集合的排序扩展方法,比如说List的扩展排序方法,支持按当前CultureInfo.CompareInfo进行排序

四、VSCode中在工程T.Core.i10n.Service中,添加对T.Core.i10n.SPI的引用
Prompt:VSCode中,如何在工程T.Core.i10n.Service中,添加对T.Core.i10n.SPI的引用

五、 新增一个类MeasurementService.cs
Prompt:在T.Core.i10n.Service工程下新增一个类MeasurementService.cs,这个类是对IMeasurementService接口的实现,每个方法的实现中,请先获取当前的CultureInfo,基于CultureInfo的内容实现方法的逻辑,输出的代码中请带着详细的注释

六、新增一个类I10nService.cs,这个类是对III10nService接口的实现
Prompt:在T.Core.i10n.Service工程下新增一个类I10nService.cs,这个类是对III10nService接口的实现,每个方法的实现中,如果方法中没传人CultureInfo参数,请先获取当前的CultureInfo,基于CultureInfo的内容实现方法的逻辑,输出的代码中请带着详细的注释,

使用Github Copilot完成代码编写的更多相关文章
- Github Copilot 比在座各位更会写代码。jpg
之前大佬和我安利过 Copilot, 作为一个能用就行的践行者, 我一贯对这些东西都不太感兴趣. 就如我多年VS Code写各种编程语言, jetbrains 全家桶我都懒得搞~ 不过最近看到过Cha ...
- Core 第三组 结对作业——四则运算 Part1. Core代码编写
结对作业——四则运算 Part1. Core代码编写 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 (因为内容较多,分为了三个部分,但作业系统中只能提交一 ...
- NASA的10条代码编写原则
NASA的10条代码编写原则 作者: Gerard J. Holzmann 来源: InfoQ 原文链接 英文原文:NASA's 10 Coding Rules for Writing Safety ...
- Github Copilot 结合python的使用
之前提交的github copilot技术预览版申请,今天收到准入邮件,于是安上试一试这个准备把我送去电子厂上班的copy a lot ? 官网及申请地址:https://copilot.github ...
- 为代码编写稳定的单元测试 [Go]
为代码编写稳定的单元测试 本文档配套代码仓库地址: https://github.com/liweiforeveryoung/curd_demo 配合 git checkout 出指定 commit ...
- GitHub + VSTS 开源代码双向同步
GitHub已经是全球开源代码的大本营了,通过以下统计你可以看到仅仅javascript在github就有超过32万个活动的repo.很多开发人员都会把自己的一部分代码分享到github上进行开源,一 ...
- 【iOS 使用github上传代码】详解
[iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...
- 使用Spring注解来简化ssh框架的代码编写
目的:主要是通过使用Spring注解的方式来简化ssh框架的代码编写. 首先:我们浏览一下原始的applicationContext.xml文件中的部分配置. <bean id="m ...
- VS开发中的代码编写小技巧——避免重复代码编写的几种方法
上一篇文章中程序员的幸福生活--有你的日子,每天都是情人节,收到了大家的很多好评.鼓励和祝福,非常感动,真诚的谢谢大家.也希望每个朋友都能保持一个积极向上的心态,去迎接丰富多彩的人生. 在开发过程中, ...
- IOS 推送-配置与代码编写
IOS 推送配置与代码编写 这里介绍IOS的推送,本文章已经在IOS6/7/8上都能运行OK,按照道理IOS9应该没问题. 大纲: 1.文章前提 2.推送介绍 3.推送文件账号设置 4.推送证书介绍 ...
随机推荐
- Mysql基础篇(二)之函数和约束
一. 函数 Mysql中的函数主要分为四类:字符串函数.数值函数.日期函数.流程函数 1. 字符串函数 常用函数如下: 函数 功能 CONCAT(S1, S2, ......Sn) 字符串拼接,将S1 ...
- 盘点!国内隐私计算学者在 USENIX Security 2023 顶会上的成果
USENIX Security 是国际公认的网络安全与隐私计算领域的四大顶级学术会议之一.CCF(中国计算机学会) 推荐的 A 类会议. 每年的 USENIX Security 研讨会都会汇集大量研究 ...
- Nginx使用Lua脚本连接Redis验证身份并下载文件
目录 安装Nginx 下载 解压安装包 安装依赖 安装 启动 测试访问 安装LuaJIT 安装ngx_devel_kit 安装lua-nginx-module 在已安装的Nginx中添加Lua模块 L ...
- 【Java】工具类 -- 持续更新
Java原生工具类 Objects requireNotNull():为空抛异常,不为空返回本身 deepEquals():对象深度相等(数组层面)判断 调用Arrays.deepEquals0() ...
- Django基本数据库操作
Django基本数据库操作 @ 目录 Django基本数据库操作 内容一:基本数据库配置 内容二:ORM基本操作 内容一:基本数据库配置 Django是一个流行的Python Web框架,它可以 ...
- Linux 日志收集器:syslog,syslog-ng,rsyslog
一 参考:https://www.cnblogs.com/zhaoyong631/p/14441090.html 基本上,它们都是相同,它们都允许在中央存储库中记录来自不同类型系统的数据. 但是它们是 ...
- 获取Rtx用户状态方法
背景:企业OA系统需要与Rtx集成,且高权限身份用户需要获取符合某一条下的所有员工rtx状态... 方案:以此背景,基于rtx sdk做二次开发, 1.后台调用RootObj.QueryUserSta ...
- JavaScript代码片段精选
今天,我在职坐标的微信公众号里面看到了关于 JavaScript代码片段精选 的 微信软文.在实际开发中,我们经常会使用的JS来实现某些功能.今天,就在此总结一下. 1.浮点数取整 const x ...
- Windows平台的JDK安装及IDEA配置JDK的过程
1.下载安装包 jdk-8u201-windows-x64.exe,即jdk1.8.0_201 链接:https://pan.baidu.com/s/1WYaTlProtHkC_KyMHIUBxQ?p ...
- VMware三种连接模式的区别
安装了vm软件后,该软件会虚拟出两张虚拟网卡vmnet1和vmnet8 网卡在控制面板->网络和internet->更改适配器设置 三种网络连接模式: 桥接模式:使用主机的无线网卡或者有线 ...