ChatGPT提效:告别CRUD

前言

随着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.rhkb.cn/news/355159.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chrome 录制器及性能分析工具的使用

需求背景: 对比不同VPN方案网络延迟的差异。 验证工具: chrome浏览器自带的录制器、性能插件可以完美的解决这个问题。 注意:录制的操作都在当前页面,不存在新开标签页的场景 解决方案: 使用chrome录制器&#xf…

力扣每日一题 6/20 数学+数组

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 2748.美丽下标对的数目【简单】 题目: 给你一个下标从 0 开始…

Nginx Rewrite技术

一:理解地址重写 与 地址转发的含义。二:理解 Rewrite指令 使用三:理解if指令四:理解防盗链及nginx配置 简介:Rewrite是Nginx服务器提供的一个重要的功能,它可以实现URL重定向功能。 一:理解地…

NodeJs 连接本地 mySql 数据库获取数据

写在前面 今天把 nodejs 连接本地数据库的坑简单的踩一下,为后续写接口做个铺垫 安装 mySql (mac举例子) 安装地址 安装完成大概这个样子,起动起来就行 安装本地数据库连接工具(navicat举例子) 安装地…

EXCEL数据导入HIVE

引言 本文将论述如何将Windows本地的excel表数据,导入到虚拟机Linux系统中的Hadoop生态中的Hive数据仓库中。 实验准备 DBeaver Hive3.1(Hadoop3.1) excel数据表 实验步骤 一、首先打开虚拟机,启动Hadoop,启动h…

Avalonia for VSCode

1、在VSCode中编辑AvaloniaUI界面,在VSCode中搜索Avalonia,并安装。如下图,可以发现Avalonia for VSCode还是预览版。 2、 创建一个Avalonia 项目。 选择项目类型 输入项目名称 选择项目所在文件夹 打开项目 3、项目架构如下图。 4、builde…

项目六 OpenStack虚拟机实例管理

任务一 理解OpenStack计算服务 1.1 •什么是Nova • Nova是OpenStack中的计算服务项目 ,计算虚拟机实例生命周期的所有活动都由 Nova 管理 。 • Nova 提供统一的计算资源 服务。 • Nova 需要下列 OpenStack 服务的 支持。 Keystone :为所有的 OpenSt…

django学习入门系列之第二点《浏览器能识别的标签3》

文章目录 列表表格往期回顾 列表 无序列表 <!-- <ul </ul> 无序列表 --> <ul><li> 内容1 </li><li> 内容2 </li><li> 内容3 </li><li> 内容4 </li> </ul>有序列表 <!-- <ol> &…

第6章 设备驱动程序(6)

目录 6.7 总线系统 6.7.2 PCI总线 6.7.3 USB 6.8 小结 本专栏文章将有70篇左右&#xff0c;欢迎关注&#xff0c;查看后续文章。 6.7 总线系统 6.7.2 PCI总线 PCI由Intel开发&#xff0c;用于替代ISA。 PCI已过时&#xff0c;目前采用PCIe。 PCI特点&#xff1a; 高带宽…

停车场防逃费设备有哪些,捷曜超眸相机怎么样,有哪些功能?

在当今快速发展的城市交通环境中&#xff0c;车场管理面临着诸多挑战&#xff0c;其中防逃费现象尤为突出。频繁的逃费行为不仅给车场运营带来了经济损失&#xff0c;也严重影响了停车场的正常秩序。对于车场防逃费方案中&#xff0c;超眸相机&#xff0c;以其尖端的高清成像技…

C++学习(23)

#学习自用# union 共用体和结构体相似&#xff0c;但是共用体一次只能占用一个成员的内存&#xff0c;所有成员共用同一地址。 #include<iostream> using namespace std; union A {int int_val;float float_val; }a; int main() {a.float_val 2.0f;cout << a.f…

浏览器加了token的header导致部分网页打不开

因为测试加了个token&#xff0c;忘记去掉&#xff0c;导致一些系统进不去&#xff0c;只能用无痕浏览器打开&#xff0c;后来发现是因为token的原因

零散的面试题

★1.java常见的引用类型 强:普通的变量引用 软:内存够时,GC不会主动删除,内存不够时,GC会删除 弱:一旦执行GC就会被删除 虚:用了感觉没用 ★2.JDK1.8新特性 lambda表达式(极大简化了匿名内部类的创建&#xff0c;促进函数式编程的风格)函数式接口(只能有一个抽象方法的接口 )日…

Nexus安卓木马分析报告

概述 2023年3月21日晚上&#xff0c;链安与中睿天下联合研发的监控系统检测到一种新型安卓木马。在经过睿士沙箱系统捕获样本之后&#xff0c;发现该安卓木马极有可能是原安卓网银盗号木马SOVA的变种。与此同时&#xff0c;意大利安全公司Cleafy发布了一篇题为《Nexus&#xf…

一款Wordpress网站导航主题,带昼夜切换功能

Wordpress网站导航主题&#xff0c;带昼夜切换功能。 基于wordpress&#xff0c;部署和使用都比较方便。 界面比较简洁大方。后台管理功能也比较全面&#xff0c;值得一试。 这款主题界面、功能都非常简洁。 作者把这款定位为简约导航主题&#xff0c;所以这款wordpress导航…

飞书API 2-1:如何通过 API 创建文件夹?

本文探讨如何通过飞书的 API 来创建文件夹。通过 API 创建的文件夹&#xff0c;一般是放在共享空间&#xff0c;如果要放在个人空间&#xff0c;建议手动创建。 查看 API 文档 API 路径&#xff0c;可在飞书开放平台的服务端 API&#xff0c;依次查找云文档>云空间>文件…

MavenPlus插件的基础功能完善

本次更新主要是在初版的searchEverywhere的基础上增加了pom.xml文件编辑器&#xff0c;目前的界面布局如下&#xff0c;进行适当说明&#xff1a; 打开pom文件后&#xff0c;你会得到如上图所示的布局页面&#xff0c;数据会同步显示 如果有冲突信息&#xff0c;则会以红色显示…

【Android面试八股文】你刚刚提到了V2签名使用美团的Walle实现多渠道打包,那么你能讲一讲Android 签名的 v1、v2、v3、v4版本的区别吗?

文章目录 前言一、简介二、APK 签名方案 v1 (JAR签名)2.1. 签名过程2.2 验证过程2.3 详细例子2.4 优缺点2.5 美团基于V1版本的多渠道打包方案三、APK 签名方案 v23.1 为什么要设计APK 签名方案 v2 ?3.2 APK 签名方案 v2 : 签名前和签名后的 APK3.2.1 签名前和签名后的 APK3.2…

qmt量化交易策略小白学习笔记第40期【qmt编程之期货数据--如何获取合约基础信息】

qmt编程之获取期货数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 获取合约基础信息 …

Faiss:选择合适的索引Index

向量相似性搜索彻底改变了搜索领域。它允许我们高效地检索从GIF到文章等各种媒体&#xff0c;即使在处理十亿级别数据集时&#xff0c;也能在亚秒级时间内提供令人印象深刻的准确性。 然而&#xff0c;这种灵活性也带来了一个问题&#xff1a;如何知道哪种索引大小最适合我们的…