从好玩到好用:程序员用 AI 提效的那些事儿

简介: 本片内容是【AI 思维空间】ChatGPT 纵横编程世界,点亮智慧火花的续作,主要记录组内开发小伙伴儿们在开发过程中的实际应用案例,记录典型案例,尽量不要和其他人重复,以解决开发过程中的实际问题为主,设计、方案、编码、测试、集成、部署等等;目的:贡献最佳实践,分享心得,共同成长!

Prompt 提问万能公式

案例 1 基于 ChatGPT 进行资源排期
1、首先进行拆分,分为周一到周五和周六周日

2、引导 chatGPT 进行排班

案例 2 让 chatGpt 帮忙看下正则表达式的含义
在看代码的过程中,发现有个地方使用了正则表达式进行规则匹配,但是没有注释标明规则含义,所以使用 chatGpt 帮忙看下规则含义。

chatGpt 不仅返回的了匹配的规则含义,还详细介绍了每个字符具体含义,very nice。

案例 3 基于 chatGpt 写分段写入 csv 文件的程序
给 chatgpt 提要求,要求 10000 行数据放在一个 csv 文件中,并将文件名称进行编号处理。

变更条件,事先不知道总行数有多少条,让 chatGpt 重新写一段程序实现。

案例 4:基于 ChatGPT 辅助开发
告诉 ChatGPT,我想开发一个 JavaBean 转 JSON 的 IDEA 插件,让 ChatGPT 给出详细的步骤和代码。

案例 5: 提问者需要具备鉴别能力
狼牙山五壮士的姓名

chatgpt 可以一本正经的胡说八道,提问者不能全信。

案例 6: spring ioc 框架学习

太复杂了,尽然无法支持,就来一个简单的

再完善下,并帮忙写一个测试案例测试下看

亲自验证测试是否正确,能否跑起来

虽然能够跑起来,但是测试结果和其预期不一致,分析错误产生的原因是注解 inject 使用错误,正确使用时需要对注解添加元注解 @Retention,其作用可以简单理解为设置注解的生命周期。

@Retention 注解传入的是 RetentionPolicy 枚举,该枚举有三个常量,分别是 SOURCE、CLASS 和 RUNTIME

三者区别如下:

SOURCE 代表着注解仅保留在源级别中,编译器将 Java 文件编译成 class 文件时将之遗弃。

CLASS 代表着注解被保留在 class 文件中,JVM 加载 class 文件时将之遗弃。

RUNTIME 代表着标记的注解会由 JVM 保留,因此运行时环境可以使用它。

总结:chat-gpt 对于技术细节可能无法把控,但是总体的程序框架及逻辑验证还是没有问题的。

案例 7:字符处理、文本格式化
JOSN 串的格式化与压缩:

案例 8:JSON 串转 JAVA Bean 集成 lombok
提示词迭代过程如下:

以下 Json 串给生成 JAVA 实体类,要求使用 lombok 简化代码,并添加明确的代码注释,以 Markdown 语法出 {

“migrateTime”: 1689609010640, // 迁移时间

“sourceProductId”: 1000000000, // 迁移源 productId

“targetProductIdAndSkuIdsMap”: {// 迁移目标 productId 与 skuId 的关系

“2000000”: [// 目标 product1, skuIds

1,

2,

3

],

“3000000”: [// 目标 product2, skuIds

4,

5

]

}

“venderId”:100, // 商家 ID

“categoryId”:123 // 三级类目 ID

}

结果输出如下(对尾行注释并不满意,继续优化试试):

去除尾行注释输出结果:

案例 9:JAVA8 流语法扁平化处理流
以下提示词目的是收集 map 的所有 value 里面对应的 long 类型的值集合。

提示词: 在 JAVA8 中如何通过流,将 Map> targetProductIdAndSkuIdsMap 中的 value 收集到一个 set 集合里面,JAVA 代码请以 Markdown 输出

结果输出如下: 在 Java 8 中,不能直接使用 flatmap 将集合的元素合并到一个集合中,因为 flatMap 操作是将多个流合并成一个流,而不是将元素合并到一个集合中。实际上,我们需要使用 flatMap 将每个集合的元素映射到单独的流,然后再使用 collect 操作将这些流合并到一个集合中。

以下是修正后的 Java 代码示例:

import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;

public class Main {
public static void main(String[] args) {
Map> targetProductIdAndSkuIdsMap = ...; // 初始化 targetProductIdAndSkuIdsMap

    Set<Long> skuIds = targetProductIdAndSkuIdsMap.values()
            .stream()
            .flatMap(Set::stream)
            .collect(Collectors.toSet());

    System.out.println(skuIds);
}

}

这个代码可还行?^_^

案例 10: 行云流水线错误日志分析
已落地平台,针对流水线运行错误日志,选中错误内容右键进行智能分析,输出分析结果,辅助解决错误问题,节省平台运营成本。

相关文章
|
27天前
|
人工智能 程序员
AI程序员入职阿里云
AI程序员入职阿里云
|
1月前
|
消息中间件 人工智能 运维
左手医生:医疗 AI 企业的云原生提效降本之路
通过使用阿里云云原生等产品,左手医生项目的上线时间缩短了 67%,运维效率提升 70% 左右,消息处理的效率也提升了 80% 左右。
|
13天前
|
人工智能 算法 程序员
AI程序员与人类程序员如何进行有效的合作
AI程序员与人类程序员的协作是软件开发的关键。双方通过知识共享、任务分配、代码审查和创新合作,提升效率和质量。有效沟通、尊重彼此优势、清晰分工、持续学习以及解决冲突是合作成功的关键。这种合作不仅利用AI的自动化能力,也发挥人类的创造力,共同推动行业进步。
|
13天前
|
人工智能 算法 安全
全球首位AI程序员诞生:对程序员的影响将会有多大?
全球首位AI程序员的诞生将深远影响程序员行业。自动化代码编写和优化将提升效率,减轻人工负担;AI能进行缺陷检测和错误修复,增强软件质量。AI还能促进知识传承和协作,成为程序员的智能导师。尽管可能影响部分传统编码职位,但也将创造新机遇,推动程序员向更复杂任务转型。随着AI技术发展,未来软件开发将加速自动化,同时也需关注伦理和安全问题。人类与AI的协同将塑造行业新未来!
|
23天前
|
人工智能 程序员 开发工具
“AI 程序员入职系列”第二弹:如何利用通义灵码光速改写项目编程语言?
本文中阿里云后端工程师云徊将从项目开发的实际需求出发,演示通义灵码在开发工作中可提供的帮助。
|
23天前
|
人工智能 自然语言处理 Java
​下载量超 200 万,最近频繁登上热搜的 AI 程序员,大家怎么看
程序员在通义灵码的帮助下,每天不必耗费大量精力编写重复性代码、调试优化、编写代码注释了。作为开发者的你,是如何看待首个 AI 程序员入职科技公司的呢?
|
1月前
|
人工智能 弹性计算 算法
华人开源最强「AI 程序员」炸场,让 GPT-4 自己修 Bug!
普林斯顿大学推出开源软件工程代理SWE-agent,利用GPT-4转化成能修复GitHub错误的AI程序员。在某些基准测试中,SWE-agent的表现与Devin相当,甚至在修复Bug速度上超越Devin,平均只需93秒。其特点是拥有开源接口,支持代码编辑和执行,提高了与代码库的交互效率。
|
1月前
|
人工智能 自然语言处理 IDE
让 AI 帮你写代码,开发提效神器来了
阿里云通义灵码,AI编码助手,提升程序员效率50%以上,支持200+编程语言,集成多种IDE。全民体验活动邀你玩转2048等小游戏,赢iPhone15、Switch等丰厚奖品。立即体验,开启AI编码新世界!
|
2月前
|
人工智能 程序员 测试技术
AI程序员Devin在软件开发中的性能评估
【2月更文挑战第29天】AI程序员Devin在软件开发中取得突破,成功解决SWE-bench基准测试13.86%的问题,超出未辅助基线1.96%。展示强大编程能力,但处理复杂任务成功率仅4.80%,表明局限性。Devin能执行多步计划和自我纠错,但在理解复杂逻辑和用户偏好上需改进。在测试驱动开发场景下,成功通过率提升至23%,显示出合作潜力。然而,AI在软件工程领域仍有很大改进空间。
45 1
AI程序员Devin在软件开发中的性能评估
|
2月前
|
人工智能 IDE 安全
微软AI程序员登场
【2月更文挑战第27天】微软AI程序员登场
54 2
微软AI程序员登场