15 利用AI辅助开发服务端应用_第1页
15 利用AI辅助开发服务端应用_第2页
15 利用AI辅助开发服务端应用_第3页
15 利用AI辅助开发服务端应用_第4页
15 利用AI辅助开发服务端应用_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

罗荣良利用AI辅助开发服务端应用本节学习目标1.了解主流AI编程工具2.掌握高效的Prompt(提示词)编写技巧3.实战:用AI生成数据库表结构(DDL)4.实战:用AI快速生成Java实体类与Controller5.学会用AI分析报错日志与优化代码编程范式的转变传统模式:搜索->复制->修改->调试AI模式:描述需求->AI生成->审查(Review)->运行核心理念:AI是你的副驾驶,不是自动驾驶。你必须懂原理才能审查它。工欲善其事:工具选择1.Web端对话:元宝,Claude,DeepSeek(适合架构设计、复杂逻辑)2.IDE插件:CodeBuddy,GitHubCopilot,TongyiLingma(通义灵码)3.AI编辑器:Cursor(能读取整个项目上下文)提示词万能公式(R-C-T-C)Role(角色):你是资深Java架构师...Context(背景):我们在做一个SpringBoot+Vue3的教务系统...Task(任务):请帮我设计一个“课程表”...Constraint(约束):使用MyBatisPlus,Lombok,包含注释。实战1:数据库设计(DDL)Prompt:"请帮我设计一张MySQL表course(课程表),字段包含:课程名、学分、教师ID、开课时间。主键自增,逻辑删除,这就需要create_time/update_time。请输出DDL语句。"实战2:生成实体类(Entity)Prompt:"根据上面的SQL,生成对应的Java实体类。要求:使用Lombok注解,MyBatisPlus的@TableName和@TableField注解,驼峰命名。"实战3:生成Controller骨架Prompt:"基于SpringBoot,写一个

CourseController。要求:1.遵循Restful风格2.注入CourseService3.包含增删改查四个接口的空方法定义4.统一返回Result对象。"实战4:编写复杂业务逻辑场景:要实现“批量导入课程,如果课程名重复则跳过”。Prompt:"在CourseService中实现importCourses方法。输入是List<Course>。逻辑:遍历列表,先查数据库是否存在同名课程,不存在则插入。请给出高效的实现代码。"实战5:解释代码(CodeExplanation)场景:遇到一段看不懂的正则表达式或复杂的Stream流操作。操作:选中代码->解释这段代码。作用:帮助初学者快速理解他人代码。实战6:AI辅助Debug场景:控制台报NullPointerException。操作:直接把报错堆栈信息+相关代码

贴给AI。Prompt:"我运行这段代码报错了,错误信息如下,请分析原因并给出修改建议。"实战7:代码优化与重构场景:代码写了一堆if-else。操作:选中代码->"Refactorthis"(重构)。Prompt:“这段代码可读性太差,请用帮忙进行优化。"警惕:AI的幻觉(Hallucination)1.一本正经胡说八道:引用的库可能不存在。2.版本过时:可能会写出SpringBoot1.x的旧代码。3.逻辑漏洞:生成的代码可能没有判空。结论:必须人工CodeReview!隐私与安全1.不要把公司的数据库密码、SecretKey贴给公共AI。2.不要把涉及商业机密的核心算法贴给AI。本节小结与作业小结:RCTC提示词公式、生成代码、Debug、解释代码。作业:1.安装一个AI编程插件(Cursor或腾讯CodeBu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论