ChatGPT提效:告别CRUD

news2025/1/12 6:21:21

前言

随着AIGC的发展以及大语言模型的成熟,各种AI应用眼花缭乱,以至于我们看到各种新奇的应用都会产生焦虑,我有一天会不会被淘汰?且看后文分析。AIGC的发展与逐渐成熟已经是无可逆转的局势,既然我们打不过为何不加入进来,今天这篇文章将带领你掌握使用ChatGPT帮助我们程序员提高工作效率,摆脱焦虑。

本人java CRUD boy一枚,在工作搞了五六年CRUD,实在觉得CRUD没什么技术含量,但是呢,实际业务开发中哪里有那么多高并发、有技术难度的场景,整个产品百分之八十都是CRUD堆积起来的,那么作为一个老鸟实在不想花费太多精力在CRUD上面,于是自己探索了一套关于CRUD的提示词分享给所有苦于CRUD的小伙伴,帮助你们摆脱CRUD噩梦,解放出更多的时间提升自己的技术,多研究技术、算法。自己能力提升了,可以跳槽或者晋升,拿到更多的薪资难道不香吗?

提效成果

相信大家更关心的是看了本篇文章,我究竟能提升多少效率,能够节省多少时间。

维度效率提升
时间成本50%
代码量80%

本人在工作开发中使用了半年多的时间,结合自身的情况,我来讲讲提效成果,保守一点估计可以在做CRUD开发过程中提效50%,可以节省将近一半的时间。前提是你对我下面总结的提示词非常熟悉,应用恰当。从代码量的角度,可以帮我们自动生成80%的代码,剩余20%需要我们自己完善以及优化AIGC提供给我们的代码。从这个角度来看,A现阶段AI大模型根本无法替代我们的工作,剩余20%是非常重要的。

适用人群

所有苦于CRUD的程序员,本提示词适用于所有语言。
本人不建议新手或者连CRUD都写不好的初级程序员去看本篇文章。为什么?AI提效本质上不是替代你,而是你的小弟帮你干活而已,如果你自己的CRUD都没搞明白,让AI写出的代码大概率也是垃圾代码,bug百出,建议这部分人群先写好CRUD代码,夯实基础,而不是想的是投机取巧。

使用模型

首推ChatGPT的GPT4、GPT4o,GPT3.5也是可以的,只是效果差一点,这个是本人使用半年多下来效果比较好的大模型。相比之下,科大讯飞、文心一言、通义千问在我这套提示词下效果不太理想。具体的模型小伙伴可以以实践为准,毕竟大模型在不断发展。

正文开始

需求说明

在我们日常开发中,我相信公告管理这个功能需求还是比较常见的,今天以此为例,来展示一下,这套提示词是如何应用的。具体的需求就不过多阐述,直接看下文的原型图理解。
公告分页查询
新增公告

ChatGPT示例对话

由于对话太长,我将完整对话放在了当前博客对应的资源下,在此博客的顶部查看。
下面是关键部分的截图

  • 理解需求
    在这里插入图片描述
  • 数据库建模
    在这里插入图片描述
    如果不对,提出修改意见,让AI修改。数据库建模越准确,生成的数据库建表语句就越准确。
    在这里插入图片描述
  • 数据库建表语句
    在这里插入图片描述
  • 设计restful接口
    这里是AI的分水岭,有一些大模型是无法理解需求给出准确的接口数,建议多试几次,或者直接更换更好的大模型。
    在这里插入图片描述
    在这里插入图片描述
    如果有不对的地方,提出意见,让AI修正。这里修正完能让后续代码生成更准确
    在这里插入图片描述
  • 业务功能设计
    在这里插入图片描述
    给出意见修正业务流程,可以让生成的代码更符合预期
    在这里插入图片描述
  • 功能代码生成
    在这里插入图片描述

提示词汇总

  • 假如你是一位Java架构师,现在我正在开发大数据项目中的数据服务相关功能,我希望你能协助我去开发数据服务相关功能,接下来我会给你一份需求文档,你先充分分析与理解需求文档内容,为我们后续开发做准备,我再介绍一下我的开发环境,我的电脑操作系统是windows 10,也安装好了MySQL 5.7数据库、JDK 11、redis6.0和IDEA。我已经做好研发准备了,你准备好了吗?(可选加上当前项目的技术栈)

确保需求文档完整,条理清晰,否则可能会有很大误差

  • 根据上文给的业务需求,我希望你按照业内数据库建模规范和最佳实践给我写一份数据库建模表格文档,包含表名、列名、数据类型、约束条件、描述、枚举值(用数字代替、用大写英文替代,保持简洁,所有枚举项列举完全),ID是自增的,针对是否判断字段使用bit类型,标准字段:create_time、update_time、creator、modifier、version,针对从属表无需加上标准字段。

  • 如果ChatGPT给出的数据库建模文档不符合要求,可以通过提示词让它修正,例如:上文中数据建模文档中有几个问题,第一个问题,XXX。第二个问题,XXX。请求按照我的要求修正。

  • 第一步工作我们已经完成了,我在电脑上已经安装好了MySQL 5.7,请按照前面生成的数据库文档进行表结构设计,在进行表结构设计时,需要考虑到查询性能以及数据的规模和增长趋势,以确保系统能够承受未来的数据访问负载,并且相关的字段comment注释、表comment注释、需要建立索引的也需要加上。然后建表语句和索引语句告诉我。要求:不要采用外键关联、表加上存储引擎和字符集。

  • (可选) 我需要每张表5条左右的测试数据,覆盖了每个字段的情况,特殊字段符合中文风格要求。每条SQL语句都可以直接执行,以插入测试数据。

  • 按照前面业务需求和生成的表结构来分析,如果需要你设计一份标准的基于RESTful接口文档,每一个接口都需要进行分析和论证必要性和设计合理性。预计你会出多少个接口?

  • 将你设计的完整的接口文档发给我,每个接口包括接口描述、HTTP 方法、请求路径、请求参数、响应参数等

  • 上面你给出的接口文档有几个问题需要更正一下,第一个问题,XXX。第二个问题,XXX。

  • (可选)接下来我们就进入开发环节,我希望的技术栈是Java17+SpringBoot+MyBatisPlus+Lombok的方式进行开发,你可以一步一步教我如何搭建一个项目吗?

  • (可选)基于前面你生成的4张数据库表结构,接下来我们建实体类,我要求:import语句、lombok、字段注释、类注释都需要

  • (可选)基于前面你生成的4个实体类,接下来我们建Mapper层接口,要求继承MyBatisPlus的BaseMapper类,但是不需要写任何接口

  • 接下来我们就进入开发环节,我现在项目使用的技术栈是Java11+SpringBoot2.3.12.RELEASE+MyBatis Plus3.5.0+Lombok+swagger的方式进行开发,项目开发过程中所有返回给前端的数据都需要定义vo视图对象。基于你提供表设计,我已经通过idea的MybatisX插件生成了基本的entity、mapper、service。基于前面的需求文档和插件生成的基础代码以及设计的接口文档,接下来我们开始进行业务功能设计,要求:包含业务处理流程,先不用告诉我代码实现(备选如果业务比较复杂用到设计模式可以使用这段:基于前面的需求文档和插件生成的基础代码,接下来我们开始进行业务功能设计,要求:利用面向对象的设计原则和设计模式,确保业务功能的实现既健壮又易于维护,先不用告诉我代码实现)

  • 根据上面的业务功能设计,先给出新增公告功能的完整实现代码,要求:关键代码加上注释。

  • (可选)基于前面实现的EmployeeService,接下来我们要为所有方法进行单元测试用例的编写,要求:核心代码需要加上适当的中文注释,结合spring-boot-starter-test实现。我需要EmployeeService类中所有的方法写出可测试的单例,并不是一个Demo

提示词核心思想

整体上围绕我们日常开发功能的思路一步步的引导AI去理解我们用的技术栈、需求、数据库设计、接口文档、功能处理流程、代码规范、单元测试等等。上面给出的提示词只是抛砖引玉,理解如何引导AI后,你可以写出自己的提示词。

结尾

从上面的示例以及提示词可以看出,通过AIGC可以帮我们生成大部分CRUD代码,但是项目有一些细节是不太好很方便的告诉大模型的,我们需要自己完善,毕竟我们想要所有功能都交给大模型处理是不现实的。
感谢大家看完这篇文章,希望这篇文章能够帮助拥抱AI,帮助大家提高工作效率,节省时间提升自己能,人人都能成为百万架构师,共勉。

友情提醒:针对使用频率不高的小伙伴,可以国内免费的大模型、GPT3.5做替代,没必要花那么多钱开GPT4的会员。

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

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

相关文章

MinIO Enterprise Cache:实现超性能的分布式 DRAM 缓存

随着计算世界的发展和 DRAM 价格的暴跌,我们发现服务器配置通常配备 500GB 或更多的 DRAM。当您处理大型部署时,即使是那些具有超高密度 NVMe 驱动器的部署,这些服务器上的服务器数量乘以 DRAM 也会迅速增加,通常达到几 TB。该 DR…

IO系列(十) -TCP 滑动窗口原理介绍(上)

一、摘要 之前在上分享网络编程知识文章的时候,有网友写下一条留言:“可以写写一篇关于 TCP 滑动窗口原理的文章吗?”。 当时没有立即回复,经过查询多方资料,发现这个 TCP 真的非常非常的复杂,就像一个清…

3D Gaussian Splatting Windows安装

1.下载源码 git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive 2.安装cuda NVIDIA GPU Computing Toolkit CUDA Toolkit Archive | NVIDIA Developer 3.安装COLMAP https://github.com/colmap/colmap/releases/tag/3.9.1 下载完成需要添加环…

pycharm git配置

PyCharm 是一个强大的集成开发环境(IDE),它内置了 Git 集成,使得版本控制变得非常方便。以下是 PyCharm 中配置 Git 的基本步骤: 安装Git: 在开始之前,请确保已经在您的系统上安装了 Git。您可以通过官方网…

小规模自建 Elasticsearch 的部署及优化

本文将详细介绍如何在 CentOS 7 操作系统上部署并优化 Elasticsearch 5.3.0,以承载千万级后端服务的数据采集。要使用Elasticsearch至少需要三台独立的服务器,本文所用服务器配置为4核8G的ECS云服务器,其中一台作为 master + data 节点、一台作为 client + data 节点、最后一…

绕过网页的阻止复制

绕过网页的阻止复制 一、问题的提出二、绕过技巧一三、绕过技巧二四、绕过技巧三五、总结说明 一、问题的提出 也是很久没有写文章了,今天突发奇想写一篇文章。首先你有没有被网页中的一些阻止你复制的页面所困扰。就是那种,你突然找到一篇文章&#xf…

mac如何检测硬盘损坏 常用mac硬盘检测坏道工具推荐

mac有时候也出现一些问题,比如硬盘损坏。硬盘损坏会导致数据丢失、系统崩溃、性能下降等严重的后果,所以及时检测和修复硬盘损坏是非常必要的。那么,mac如何检测硬盘损坏呢?有哪些常用的mac硬盘检测坏道工具呢? 一、m…

Redis常见数据类型及其常用命令详解

文章目录 一、Redis概述二、Redis常用命令1.通用命令1.1 KEYS:查看符合模板的所有 key1.2 DEL:删除一个指定的 key1.3 EXISTS:判断 key 是否存在1.4 EXPIRE:给一个 key 设置有效期,有效期到期时该 key 会被自动删除1.5…

触控MCU芯片(1):英飞凌PSoC第6代第7代

前言: 说到触摸MCU芯片,这个历史也是很久了,比如日常经常接触到的洗衣机、电冰箱、小家电,隔着一层玻璃,轻轻一按就能识别按键,感觉比过去纯机械式的按键更高级更美观,不仅白电,现在很多汽车也都在进行触摸按键的改版,不再使用笨重的机械按键,比如空调调温按键、档位…

SpringBoot3整合SpringDoc实现在线接口文档

写在前面 在现目前项目开发中,一般都是前后端分离项目。前端小姐姐负责开发前端,苦逼的我们负责后端开发 事实是一个人全干,在这过程中编写接口文档就显得尤为重要了。然而作为一个程序员,最怕的莫过于自己写文档和别人不写文档…

ES 8.14 向量搜索优化

参考:https://blog.csdn.net/UbuntuTouch/article/details/139502650 检索器(standard、kNN 和 RRF) 检索器(retrievers)是搜索 API 中的一种新抽象概念,用于描述如何检索一组顶级文档。检索器被设计为可以…

深度學習筆記12-優化器對比(Tensorflow)

🍨 本文為🔗365天深度學習訓練營 中的學習紀錄博客🍖 原作者:K同学啊 | 接輔導、項目定制 一、我的環境 電腦系統:Windows 10 顯卡:NVIDIA Quadro P620 語言環境:Python 3.7.0 開發工具&…

白蚁监测装置:支持北斗定位

TH-BY2白蚁监测控制管理系统原理 采用白蚁喜欢吃的食物做诱饵,吸引白蚁取食,取食过程中触动报警装置。报警装置发出信号,通过物联网传输到监控系统,经过数据处理,监测结果呈现给用户。用户通知白蚁防治专业人员&#x…

部署远程控制台访问服务Rttys,第三部分服务端(安装Rttys)

安装服务端Rttys之前可选先在客户端安装rtty。服务端采用GO语言实现,前端界面采用vue实现。 CMAKE的安装和客户端RTTY的安装请参考前两篇文章: Linux远程连接程序工具选型 Webssh与Rtty 部署远程控制台访问服务Rttys,第一部分客户端&#…

Thinkphp5内核流浪猫流浪狗宠物领养平台H5源码

Thinkphp5内核流浪猫流浪狗宠物领养平台H5源码 可封装APP,适合做猫狗宠物类的发信息发布,当然懂的修改一下,做其他信息发布也是可以的。 Thinkphp5内核流浪猫流浪狗宠物领养平台H5源码

常用算法及参考算法 (1)累加 (2)累乘 (3)素数 (4)最大公约数 (5)最值问题 (6)迭代法

常用算法及参考算法 &#xff08;1&#xff09;累加 &#xff08;2&#xff09;累乘 &#xff08;3&#xff09;素数 &#xff08;4&#xff09;最大公约数 &#xff08;5&#xff09;最值问题 &#xff08;6&#xff09;迭代法 1. 累加 #include <stdio.h>int main() {…

怎么把网页上的接口信息导入postman

第一步 打开f12&#xff0c;右键选中需要的接口。选择copy-copy as cURL 第二步 打开postman&#xff0c;选择"Raw Text"&#xff0c; 把刚才复制的curl粘贴到空白位置&#xff0c;点击Continue - 最后的效果。导入的接口自带cookie&#xff0c;不用再输入cookie&a…

Cosmopolitan:一次构建,多平台原生运行的C语言库行!

Cosmopolitan&#xff1a;C语言的跨平台革命&#xff0c;无需虚拟机&#xff0c;直接运行于任何环境。- 精选真开源&#xff0c;释放新价值。 概览 Cosmopolitan是一个创新的C语言库&#xff0c;旨在实现C程序的"一次编写&#xff0c;多处运行"&#xff0c;类似于Ja…

【深度学习驱动流体力学】配置安装 OpenFOAM 及其所需的ThirdParty-10与QT5工具

本文以ThirdParty-10 为例,ThirdParty-10 是 OpenFOAM 软件包中的一个重要组件目录&#xff0c;包含了一系列外部的第三方库和工具&#xff0c;这些库和工具对于 OpenFOAM 的编译和运行至关重要。该目录提供了各种脚本和配置文件&#xff0c;用于简化这些第三方库的下载、编译和…

文生视频开源产品的一些调研(一)

笔者尝试AI视频生成的几个特点&#xff1a; 玄学prompt&#xff0c;每个视频的prompt可能也需要微调很多次&#xff0c;需要找到使用模型的最佳prompt词组合&#xff0c;不恰当的比喻&#xff0c;骑自行车&#xff0c;座位高度等都是人与车彼此熟悉玄学生成&#xff0c;因为需…