鱼皮分享:AI在小团队中的大作为

企业研发流程:需求分析=>方案设计=>开发编码=>测试验收=>代码审查=>部署上线

part 1 需求分析

需求分析的关键

验证需求合理性:是否能够被技术实现

评估需求周期:对开发工作量、难度和资源分配的预估

输出需求文档:撰写清晰、完整的需求文档,作为项目团队后续工作的依据

AI助力

  1. 可以通过向AI提问,帮忙把控需求的合理性
  2. 可以通过向AI提问,帮忙评估开发工作量
  3. 可以利用AI的提问和文档生成功能,在分析需求时生成基础的文档或模板,并在调研过程中通过AI快速整理调研内容为文档,便于与产品或需求方进行进一步讨论。

part 2 方案设计

60%~70% 的时间在进行方案设计

方案设计的关键

方案输出:包括技术选型、编写Demo验证、绘制流程图辅助理解等。

方案评估:小需求自主设计,大需求开会讨论,并且需要技术人员核对校验方案,减少后续开发中的返工风险和不必要的成本消耗。

沉淀方案文档,便于后续其他需求的复用,比如消息通知系统、点赞系统、排行榜系统等

AI 助力

  1. 利用AI快速完成方案。比如快速获取多种技术信息和对比,并且通过生成Demo代码来快速验证(还可以结合上下文输出更精确的Demo),还可以利用AI生成文本绘图(比如PlantUML类图、Mermaid流程图等),辅助理解
  2. 利用AI优化方案文档。比如快速补充专有名词解释,让文档更完整、更结构化、更易读、更好理解等。
  3. 利用AI验证方案和文档。比如直接让AI评估方案的可行性,验证某个依赖的引入是否冲突等。比如引I入了新的依赖时,直接把现有的包管理文件配置和要引入的依赖发给AI,让他来验证,并给出指定的版本号。

image-20240929153646777

part 3 开发编码

开发编码

AI带来的编码方式改变:提高编码效率,以AI为核心去开发

warning 以前:人写代码+AI优化

success 现在:AI写代码+人优化

几乎没有解决不了的技术问题和Bug,成为高级程序员的门槛在持续降低。以前需要经验才能解决的Bug,一个校招生都能轻松利用 Al解决。

AI助力

  1. 代码解释,快速熟悉代码:开发过程中,AI可以帮助解释不熟悉的代码逻辑,尤其在团队成员相互协作时,相当于增加一个队友帮你理解代码意图。
  2. 代码生成
  3. 💡生成注释,注释即文档
  4. 💡代码优化重构:JetBrains Al(其他ai也可以滴 但是没这么方便)能够快速给出代码优化建议,并且给出解释,很适合写完代码后来学习如何优化。还能通过IDE自带的Diff功能更直观地对比优化前后的代码。
  5. 💡JetBrainsAI能帮助发现潜在的代码问题并分析原因,提交代码前建议执行。
  6. 代码错误分析,快速Debug

part 4 测试验收

AI助力

  1. 生成单元测试:AI能够自动生成单元测试代码,减少了编写测试代码的工作量。
  2. 生成测试数据:AI能够结合项自上下文,生成符合逻辑的测试数据,或者生成额外的测试逻辑、补全某些常见场景的测试代码,减少手动编写测试代码的时间。

代码解释与重构建议:团队可以通过AI的代码解释功能来解释提交,快速理解他人提交的代码, 并生成改进建议。出了问题时可以用AI快速分析某次提交中的错误。

part 5 代码审查

代码审查的2个核心过程是:代码提交、代码审查

AI助力

  1. 快速提交:JetBrains的终端集成AI能力,可以快速生成特定命令。比如用户只需自然语言命令“帮我提交”,AI能够帮忙生成可执行的项目提交命令。image-20240929155559728
  2. 代码解释与重构建议:团队可以通过AI的代码解释功能来解释提交,快速理解他人提交的代码,并生成改进建议。出了问题时可以用AI快速分析某次提交中的错误。

part 6 部署上线

  1. 部署自动化脚本生成:在部署阶段,通常需要编写自动化部署脚本,例如使用Docker、Kubernetes或Cl/CD工具(如TeamCity)。AI可以通过生成代码功能帮助生成部署脚本的初始版本。
  2. 在部署前的最后代码审查阶段,使用 AI的查找问题 和重构建议功能,对代码进行优化。特别是对性能有较高要求的场景,AI能帮助识别潜在的性能瓶颈,提出改进建议,提升上线后的系统稳定性和效率。
  3. 错误日志分析与故障排查:在部署过程或部署后上线时,难免会遇到一些错误。AI编程助手的代码错误分析功能可以帮助分析错误日志,找出问题的根本原因。对于较为复杂的错误,AI可以结合生成代码或解释代码功能快速提供修复建议,并生成相应的补丁代码。
  4. 生成文档与配置文件说明:部署上线时,清晰的文档和配置文件说明对后续的维护和扩展非常重要。AI的文档生成功能,可以快速为配置文件、部署流程和关键代码生成文档说明,虽然目前默认是英文,但它仍然能够为后期维护提供完整的文档框架。

最后的总结

Mermaid流程图

Mermaid 是一个基于 JavaScript 的图表工具,可渲染 Markdown 启发的文本定义以动态创建和修改图表。

使用AIGC生成软件类图表 | wmh’s wiki (wmhwiki.cn)

生成注释

很常见啦 直接甩代码 问gpt 写注释