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

news2025/3/2 10:04:44

如何使用chatGPT提升自己的"码"力?

  • 代码评审(CodeReview)
  • 代码优化
  • 代码释义
  • 提供解决方案
  • 代码生成
  • 设计模式和架构建议
  • 学习新知识
  • 总结

  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对此问题的回答如下:
在这里插入图片描述
可以用ChatGPT解决的编程问题非常多,再举一些小例子:比如如何解决多线程相互间信息同步的问题、代码中怎么加Cache、java中有哪个开源包中有immutable的集合类可以直接使用??

代码生成

对于一些给定的问题,ChatGPT其实是可以直接生成相关代码的,而且生成的代码指令也是可用的。比如我上周就用ChatGPT生成了一份分布式锁注解的代码,可用性相当高。
在这里插入图片描述
  整个上下文太长了,我就无完整贴出来了。针对分布式锁注解这个问题,ChatGPT不仅给出了注解接口代码,也给出来完整的切面实现代码,甚至给出了具体的使用示例,完整的demo分分钟就可以跑起来。

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

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

设计模式和架构建议

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

在这里插入图片描述
  从ChatGPT的回答来看,还是相当有参考价值的。

学习新知识

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

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

在这里插入图片描述

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

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/580560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PAT A1152 Google Recruitment

1152 Google Recruitment 分数 20 作者 陈越 单位 浙江大学 In July 2004, Google posted on a giant billboard along Highway 101 in Silicon Valley (shown in the picture below) for recruitment. The content is super-simple, a URL consisting of the first 10-dig…

2023商家外卖数据

商家列表 外卖商品销量 shop_channel varchar(20) DEFAULT NULL, shop_system varchar(20) DEFAULT NULL, shop_system_no varchar(50) DEFAULT NULL, shop_platform varchar(20) DEFAULT NULL, shop_id varchar(50) NOT NULL, shop_id_str varchar(50) NO…

ChatGPT自动生成思维导图

🍏🍐🍊🍑🍒🍓🫐🥑🍋🍉 ChatGPT自动生成思维导图 文章目录 🍐问题引入🍐具体操作markmapXmind 🐳结语 &#x1f…

【Web】JWT(JSON Web Token)验证是什么?和SWT,SMAL的区别

JWT是什么? JWT(JSON Web Token)是一种轻量级的安全传输方式,可以用于在不同的系统之间传递安全可靠的信息,例如用户身份验证、授权和信息交换等。JWT采用JSON格式对信息进行编码和传输,用于在各方之间以 …

SpringCloud:分布式缓存之Redis持久化

Redis有两种持久化方案: RDB持久化AOF持久化 1.RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,…

如何安装389目录服务器作为CentOS 8 / RHEL 8机器的LDAP服务器?

LDAP(轻量级目录访问协议)是一种用于访问和维护分布式目录服务的开放标准协议。 389目录服务器是一个功能强大、高性能的LDAP服务器,它可以用于存储和管理用户、组和其他网络对象的身份验证和授权信息。本文将详细介绍如何在CentOS 8 / RHEL…

学生成绩管理系统

基于springboot vue实现的学生成绩管理系统 主要模块: 1)学生模块:我的成绩、成绩统计、申述管理、修改密码 2)教师模块:任务管理、对学生班级任务安排、班级学生的成绩查看、申述管理 3)管理员模块&…

(可直接使用)在线语音识别APP+阿里云平台+Android Studio 开发项目

目录 所以需要下载软件 (1)Android Studio (2)夜神模拟器 1:在阿里云平台中,登录账号,选择控制台,搜索 智能语音交互 2:智能语音交互 界面 3:创建项目 4:选择项目类别 可以选择 语音识别语…

C++初识仿函数

C初识仿函数 📟作者主页:慢热的陕西人 🌴专栏链接:C 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容简单介绍了仿函数的概念 文章目录 C初识仿函数…

计算机组成原理-中央处理器-CPU指令和数据执行过程

目录 一、CPU的功能和基本架构 二、指令cpu执行过程 指令周期​编辑 各周期执行过程 指令执行方案 三、数据通路 3.1 cpu内部单总线 3.1.1 寄存器之间传送 3.1.2 主存与cpu之间数据传送 3.1.3 执行算术或逻辑运算的 3.2 cpu内部多总线 3.3 专用数据通路 一、CPU的功能和…

javascript基础九:说说Javascript中的继承?如何实现继承?

一、是什么 继承(inheritance)是面向对象软件技术当中的一个概念 如果一个类别B“继承自”另一个类别A,就把这个B称为“A的子类”,而把A称为“B的父类别”也可以称“A是B的超类” 继承的优点 继承可以使得子类具有父类别的各种属性…

[LeetCode周赛复盘] 第 105 场双周赛20230528

[LeetCode周赛复盘] 第 105 场双周赛20230528 一、本周周赛总结6395. 购买两块巧克力1. 题目描述2. 思路分析3. 代码实现 6394. 字符串中的额外字符1. 题目描述2. 思路分析3. 代码实现 6393. 一个小组的最大实力值1. 题目描述2. 思路分析3. 代码实现 6464. 最大公约数遍历1. 题…

性能测试需求分析有哪些?怎么做?

目录 性能测试必要性评估 常见性能测试关键评估项如下: 性能测试工具选型 性能测试需求分析 性能测试需求评审 性能测试需求分析与传统的功能测试需求有所不同,功能测试需求分析重点在于从用户层面分析被测对象的功能性、易用性等质量特性&#xff…

【Go语言从入门到实战】并发篇

Go语言从入门到实战 — 并发篇 协程 Thread vs Groutine 相比之下,协程的栈大小就小很多了,创建起来也会更快,也更节省系统资源。 一个 goroutine 的栈,和操作系统线程一样,会保存其活跃或挂起的函数调用的本地变量…

2023 年面向初学者的 5 大自由写作技巧

在这篇文章中,我们将讨论初学者的自由写作技巧 译自:https://jitendra.co/freelance-writing-tips-for-beginners/ 比较平易近人,在做独立站并且自己写原创时候可以参考下,面对的甲方爸爸不同而已 最初的兼职活动最终成为我生活中…

Docker下安装MySQL,PostgreSQL,SQL Server(包含离线和在线安装)

1 MySQL 1.1 离线安装 1.1.1 加载镜像 使用ftp工具将安装包上传至服务器最大目录下,这里以根目录为最大目录举例 键入加载镜像命令:docker load -i 镜像包名称 docker load -i mysql80.tar使用docker images命令查看已经加载的镜像,如上…

【利用ChatGPT学习英语口语(包括如何安装插件的详细教程)】

内容目录 一、插入ChatGPT语音播放插件1. 打开谷歌浏览器——右上角三点——更多工具——扩展程序2. 点击扩展程序三个横杠——打开chrome 应用商店3. 搜索Voice Control for ChatGPT——点击如下图第一个——添加至Chrome——添加扩展程序4. 成功安装,打开ChatGPT有…

【大数据hive】hive视图与物化视图使用详解

目录 一、hive中的视图 二、hive视图语法与操作 2.1 数据准备 2.2 创建视图 2.2.1 创建普通的视图 2.2.2 基于视图创建视图 2.3 查看视图定义 2.4 使用视图 2.5 删除视图 2.6 更改视图属性 2.7 更改视图定义 三、使用视图的好处 3.1 只将真实表中特定的列数据提…

线程同步模式的设计思路

👳我亲爱的各位大佬们好😘😘😘 ♨️本篇文章记录的为 JDK8 新特性 Stream API 进阶 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉🙉。 …

ISCC2023 擂台misc wp

刚想起来发 文章目录 雪豹哦?摩斯密码?ඞG9的钢琴曲BNG听你心跳里的狂Brain Games user-id:芝士雪豹 雪豹 这道题没啥意思,存粹为了套拿450分。知识点属于重复知识点,见谅: 拿到附件,用360解…