如何使用ChatGPT提升自己的“码”力?

简介: 经过我两个月的使用,我发现ChatGPT目前还完全无法替代程序员,尤其是在一些强上下文的编程场景下,比如一些重业务的编程场景。而在一些比较通用化的编程场景下,其展现出来的能力尚可。总结起来,我们程序员目前不必太担心ChatGPT抢我们饭碗的情况,但是可以利用它来完成一些编程相关的事,把它当做一个工具来大幅度提升我们的工作效率,下面是一些我总结的可以利用ChatGPT的一些场景,希望对大家有所帮助。

ChatGPT是什么,我就不用再多介绍了吧!相信大家已经看到了它在文本领域所展现出来的实力,虽然目前的效果依旧无法比拟专业文字工作者,但其文字能力也超过了绝大多数普通人,主要还相当的便宜,让不少文字相关工作者瑟瑟发抖。不过今天我们不讨论它的文字能力,而是讨论下它的代码能力。

 经过我两个月的使用,我发现ChatGPT目前还完全无法替代程序员,尤其是在一些强上下文的编程场景下,比如一些重业务的编程场景。而在一些比较通用化的编程场景下,其展现出来的能力尚可。总结起来,我们程序员目前不必太担心ChatGPT抢我们饭碗的情况,但是可以利用它来完成一些编程相关的事,把它当做一个工具来大幅度提升我们的工作效率,下面是一些我总结的可以利用ChatGPT的一些场景,希望对大家有所帮助。


代码评审(CodeReview)

 可以使用ChatGPT对已有代码进行CodeReview,从而提早发现问题。ChatGPT可以检测出语法错误

、代码风格问题、潜在的bug、性能问题…… 然而,需要注意的是,ChatGPT可能无法像专业的代码审查工具或经验丰富的开发者那样全面和准确地检查代码,而可能还会出现错误。所以在实际应用中,建议只将其作为辅助工具,与其他代码审查工具和人工审查相结合。


参考prompt:


请对以下代码进行CodeReview,指出代码中可能存在的问题,包括但不仅限于代码风格、潜在bug、性能问题、代码可读性、代码安全性等问题。


代码优化

 如果你觉得代码评审还不够,你可以直接让ChatGPT帮你优化并重写下整个代码,当然你也可以要求它返回优化的理由。 不过需要和代码评审注意同样的问题,ChatGPT的表现无法像专业的程序员一样,依旧是建议将其作为辅助工具,参考其给出的结果,再结合专业人士的建议对代码做优化。


参考prompt:


请在保持原有代码逻辑的情况下优化下以下代码,尽可能提升代码的可读性、可维护性、性能……,并给出优化的理由。

备注:ChatGPT在代码评审和代码优化方面表现出的水平,我个人认为基本上相当于高级工程师的水平,但距该领域资深工程师或者专家还是差一大截的,所以我个人还是比较建议初级工程师实用ChatGPT来对自己的代码做一些优化,顺便也学习一下升代码指令的方法。


代码释义

 程序猿日常工作中的很大一部分时间都是在维护老的代码,尤其是维护一些别人写的、没有注释的代码,如果需要修改一些逻辑,还要尝试去理解原有代码,相当痛苦。这个时候就可以将代码给到ChatGPT,让它帮忙生成一些代码释义,可以一定程度减轻你理解代码的负担。


参考prompt:


请解释以下代码的逻辑,请在代码中合适的地方增加注释。

提供解决方案

 在我们日常工作中,经常会遇到一些问题不知道如何编程去解决,尤其是新手程序员,这类的问题非常多,这个时候给ChatGPT描述清楚你遇到的问题,让它给出一些建议和解决方案。此类问题无特定的prompt可以参考,但我可以给你举个例子。


 我们最近在生产环境遇到一个线上问题,由于我们数据量增长,同一个设备的kafka消息可能同时被多台机器消费,导致数据状态不对,这个时候我可以要求ChatGPT给我一些解决问题的建议,ChatGPT对此问题的回答如下:

image.png

可以用ChatGPT解决的编程问题非常多,再举一些小例子:比如如何解决多线程相互间信息同步的问题、代码中怎么加Cache、java中有哪个开源包中有immutable的集合类可以直接使用??


代码生成

对于一些给定的问题,ChatGPT其实是可以直接生成相关代码的,而且生成的代码指令也是可用的。比如我上周就用ChatGPT生成了一份分布式锁注解的代码,可用性相当高。

image.png

 整个上下文太长了,我就不完整贴出来了。针对分布式锁注解这个问题,ChatGPT不仅给出了注解接口代码,也给出来完整的切面实现代码,甚至给出了具体的使用示例,完整的demo分分钟就可以跑起来。


备注: 分布式锁这个问题我问了ChatGPT好几次,每次回答还是略有差异,甚至有些代码还稍微有些问题,需要自己识别下。总之ChatGPT的答案,目前不建议全信,需要自行做好甄别。


 还有一些代码场景很实用用ChatGPT来做,比如用它来生成某段代码的单元测试。虽然它无法考虑到各种各样的数据case,但至少它能帮你把单测的基础代码写好,你只需要完善其他数据即可。


设计模式和架构建议

 上面一些例子是如何在代码和实现的层面上利用好ChatGPT,但实际上,ChatGPT 在更高层面上也可以提供一些建议,比如代码设计甚至是架构设计上。比如我们系统现在遇到一个问题,由于是单体应用,上面运行了http服务、kafka消费者、定时任务,可能会存在不同任务相互抢占资源的情况,因此,我们一直计划对服务进行拆分,这个时候可以征求下ChatGPT的建议。

image.png


 从ChatGPT的回答来看,还是相当有参考价值的。


学习新知识

 如果你在某个领域是资深工程师,我肯定ChatGPT在这方面肯定没有你强,但是它知识邻域的广度肯定是你远不可及的。某个人可能在某个领域做到了90分,但ChatGPT可以在j大多数领域做到60分,甚至更高,而我们单个人可能只能在大多数领域只能做到10分 20分,所以ChatGPT是可以在你不熟悉的领域来帮助你学习的。


 举个很简单的例子,我是一个后端工程师,我可能java水平能到90分,但我对前端代码不了解,但我也能看懂,大概水平就是十几二十分。但在ChatGPT的辅助下,我用Electron写出了一个ChatGPT的桌面客户端。 这样的例子真的数不胜数,只要你愿意学,ChatGPT什么都可以教你。

image.png



备注:由于ChatGPT训练数据的时效性问题,它无法提供非常新的资料,甚至有些时候还会出现瞎编的情况,注意甄别。


总结

 还记得在ChatGPT刚爆火的那段时间,某大佬放出豪言说ChatGPT在x年内会替代xx%的程序员,最近类似的言论少了很多,我个人感觉不会有那么夸张,但肯定会替代掉一部分的,尤其是哪些低技术水平(比如简单的CURD)。不过我们只要学会使用好ChatGPT这个工具,我们一定不会被它替代。 最后附上前一段时间凯文凯利在接受csdn专访时说的一句话 AI 会取代人的 90% 技能,并放大剩余的 10%。

目录
相关文章
|
JavaScript
VUE~富文本简单使用~tinymce
VUE~富文本简单使用~tinymce
1030 0
VUE~富文本简单使用~tinymce
|
新零售 人工智能 Cloud Native
【年度重磅】阿里淘系全年技术总结黑皮书,1500页免费下载!
淘系技术将2020一整年的精华内容梳理合并,重磅推出【淘系技术2020技术年货】。在这本书中,你将看到:各技术栈下时新前沿的技术讲解与方法技巧、淘系技术大牛的职场成长经验&学习问答实录、年度精选技术人员必读书单、淘系经典开源项目介绍、2020淘系顶会 paper 全文。
47464 0
【年度重磅】阿里淘系全年技术总结黑皮书,1500页免费下载!
|
机器学习/深度学习 数据采集 自然语言处理
|
8月前
|
缓存 自然语言处理 搜索推荐
深入优化基于DeepSeek的智能客服系统:从基础到高级
本文在上一篇构建的DeepSeek智能客服系统基础上,深入探讨了性能优化、用户体验提升和高级功能集成的方法。通过缓存机制、异步处理优化性能;利用情感分析、个性化回答提升用户体验;引入语音识别、知识图谱等高级功能增强智能化水平。结合具体案例与代码示例,帮助开发者打造更高效、智能的客服系统。
|
Java 编译器 Maven
使用intellij idea搭建SSM架构的maven项目 详细
使用intellij idea搭建SSM架构的maven项目 详细
231 4
|
9月前
|
人工智能 数据可视化 数据处理
从0到1只需“拖一拖”,开发时间按秒算——低代码到底有多牛
低代码平台正颠覆传统软件开发模式,通过可视化开发、模块化组件和自动化工具,将复杂开发过程大大简化。企业能以更低的成本和更快的速度(从数月缩短至几天甚至几小时)将创意转化为数字化产品。低代码平台支持拖拽式操作、实时预览、自动代码生成和快速部署,显著提高开发效率,满足多样化的业务需求。其核心引擎(如SQL引擎、图表引擎等)不断升级,增强数据处理能力和跨平台兼容性。此外,丰富的插件生态和开放架构进一步扩展了平台的适用范围,为企业提供更高效的技术解决方案,推动数字化转型。 未来,低代码将与AI、物联网等技术深度融合,成为企业创新和市场响应的关键驱动力。
|
11月前
|
存储 关系型数据库 MySQL
智能调度、秒级弹性|一文带你探索Compaction Service的进化之路
ADB MySQL的Compaction Service功能通过将Compaction任务从存储节点解耦至独立的弹性资源池执行,解决了资源隔离性弱、并发度低等问题,实现了资源消耗降低50%,任务执行时间平均减少40%,并支持按量付费,提升了系统的稳定性和成本效益。
|
11月前
|
人工智能 Cloud Native 数据管理
媒体声音|阿里云王远:一站式数据管理平台的智能化跃迁
在DTCC 2024大会上,阿里云数据库产品管理与技术架构部负责人王远与IT168 & ITPUB特约嘉宾薛晓刚就数据库与AI技术的融合、云原生数据库的新趋势及向量数据库的支撑能力等热点话题进行了深入探讨。王远认为,Data+AI不仅是一个概念,已进入实际落地阶段。在智能化时代,单一数据库引擎难以满足多元业务需求,需要构建统一的数据管理能力,以支持不同工作负载。阿里云通过“瑶池”数据库品牌,提供云原生、平台化、一体化和智能化的数据库解决方案,助力用户应对复杂的数据管理挑战。
427 11
|
11月前
|
SQL 算法 大数据
为什么大数据平台会回归SQL
在大数据领域,尽管非结构化数据占据了大数据平台80%以上的存储空间,结构化数据分析依然是核心任务。SQL因其广泛的应用基础和易于上手的特点成为大数据处理的主要语言,各大厂商纷纷支持SQL以提高市场竞争力。然而,SQL在处理复杂计算时表现出的性能和开发效率低下问题日益凸显,如难以充分利用现代硬件能力、复杂SQL优化困难等。为了解决这些问题,出现了像SPL这样的开源计算引擎,它通过提供更高效的开发体验和计算性能,以及对多种数据源的支持,为大数据处理带来了新的解决方案。
|
11月前
|
前端开发 JavaScript API
前端:事件循环/异步
前端开发中的事件循环和异步处理是核心机制,用于管理任务执行、性能优化及响应用户操作,确保网页流畅运行。事件循环负责调度任务,而异步则通过回调、Promise等实现非阻塞操作。