AI+脚本让我的效率翻倍,你也可以试试

本文涉及的产品
视觉智能开放平台,视频资源包5000点
视觉智能开放平台,分割抠图1万点
NLP自然语言处理_基础版,每接口每天50万次
简介: 本文分享了一名高级软件工程师如何利用 AI 工具(如 VSCode 插件 Codeium、通义灵码,及网页端的通义千问和 GPT-4)提升工作效率的经验。从代码生成、单元测试、脚本生成到文本润色,再到新框架学习,AI 工具在多个方面显著提高了开发效率和代码质量。文章还提供了具体示例和注意事项,帮助读者更好地应用这些工具。

利用 AI 提升工作效率:高级软件工程师的实践经验

作为一名高级软件工程师,我的日常工作离不开代码编写、需求设计、测试开发以及文档的撰写和优化。多年来,我一直在寻找提高工作效率的方式。幸运的是,随着 AI 技术的发展,各类 AI 辅助工具逐渐进入我的视野,并极大地改变了我的工作方式。通过在日常工作中使用 VSCode 插件 Codeium、通义灵码,以及网页端的通义千问和 GPT-4,我成功地让工作效率翻倍。这篇文章将分享我如何利用这些 AI 工具提升工作效率,希望你也能从中受益。

代码生成:让编程更加智能化

示例 1: Vue 组件生成

例如,当我需要快速创建一个 Vue 组件时,只需输入以下注释:

// 创建一个带有输入框和按钮的 Vue 组件

Codeium 或 Copilot 就会生成一个符合需求的组件代码,包括模板、脚本和样式部分。这大大减少了手动编写重复代码的时间。

在日常工作中,编写代码是不可或缺的部分。无论是实现新的功能模块,还是维护现有项目,代码质量和开发速度是每个开发者关注的重点。通过使用 通义灵码 和 Codeium 插件,我能够更快地完成代码的编写和优化。

推理代码

有时我们需要根据已有的业务逻辑编写新功能,但这个过程通常伴随着复杂的逻辑推理。通义灵码 的智能补全功能可以根据我已有的代码段,自动推理出接下来的逻辑。无论是前端的 Vue 组件、TypeScript 逻辑编写,还是后端的 API 设计,它都能提供非常准确的代码建议。

const x = totalWidth * xPercent;
// 回车后它就能推理出 y、width、height 等变量

单元测试

示例 2: 单元测试代码生成

例如,在编写一个简单的加法函数时:

function add(a, b) {
   
  return a + b;
}

我可以让 Copilot 自动生成对应的 Jest 单元测试代码:

test('adds 1 + 2 to equal 3', () => {
   
  expect(add(1, 2)).toBe(3);
});

这样让我能够更专注于功能开发,而不是繁琐的测试编写。

单元测试对于保证代码质量至关重要,但编写测试代码往往是一个繁琐的过程。通过使用 Copilot 插件,我能够生成符合业务需求的单元测试代码。这些 AI 工具能够理解代码逻辑,并生成对应的测试用例,从而减少了编写测试代码的时间。

通用代码模板

除了推理代码和单元测试,很多日常工作还涉及到重复的、通用的代码编写。例如,CRUD 操作、API 接口的定义、前端 UI 组件的创建等等。借助 Codeium 插件,我只需输入简单的注释或部分关键字,它就能生成符合规范的代码模板,大大减少了重复劳动。

代码转义 - JS → Go/Rust

有时候为了提升某部分服务的性能,我会先用 Express 实现一个简单但功能齐全的版本,然后通过通义千问将其转换为 Go 实现。

错误分析

示例 3: 前端报错分析

例如,当遇到一个复杂的前端报错信息时:

Uncaught TypeError: Cannot read property 'length' of undefined

我将此错误粘贴给通义千问,它会提供详细的分析,并指出可能的原因,例如变量未定义或数据未正确传递。这帮助我快速找到并修复问题。

只需要粘贴报错的信息,越详细越好,交给 AI 即可。报错越多或者越奇怪,AI 通常能够分析出更深入的信息。例如在之前的文章中,我详细讲解了如何通过 AI 工具理解一些复杂的前端报错。

脚本生成:自动化一切

示例 4: Dockerfile 生成

例如,我需要为项目创建一个简单的 Dockerfile,只需输入以下描述:

"为 Node.js 项目生成 Dockerfile"

通义千问会生成如下 Dockerfile:

FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD ["node", "app.js"]

这让我能够快速搭建容器化环境,无需手动查阅 Docker 文档。

作为软件工程师,自动化是提高效率的关键。除了编写业务代码,很多时候我们还需要编写各种脚本,如自动化部署、数据迁移脚本等等。使用 GPT-4 或通义千问,我可以快速生成各种自动化脚本,并根据需求进行定制。例如,生成一个 Dockerfile,或者一段用于自动化 CI/CD 流程的脚本,AI 工具能帮助我快速完成。

重复的操作尝试转成脚本

不仅仅是 Dockerfile,生成各种 PowerShell 脚本也是一种非常有效的方案,这大大提升了我的效率。所以我还特意开设了一个专栏《脚本控》,分享我的脚本经验。这些脚本虽然大多是针对项目的,但也有一些通用的思路可供参考。

PowerShell 或者 Bash 的功能非常强大,支持参数和条件判断等,只要描述清楚,重复操作就可以尽量转化成脚本!

图片生成:可视化让工作更具表现力

除了编程工作,我还时常需要为项目制作设计图、流程图或者数据可视化图表。通过使用 GPT-4 的 DALL·E 插件或者类似的 AI 工具,我可以快速生成项目所需的图片。例如在产品设计初期,我可以生成概念草图,帮助团队成员更好地理解项目构思。
2e06ce64738b4bb089fca007196315eb.png

设计草图

使用 GPT-4,我可以输入简单的描述,例如“生成一个展示电商网站用户流程的草图”,它就能提供一个初步的流程图。这样,我无需专门去打开设计软件来手动绘制,节省了大量时间。

数据可视化

对于一些需要展示的数据分析结果,我可以通过 AI 快速生成相关图表,例如折线图、柱状图等。通过通义千问和 GPT-4 提供的自动化工具,我只需输入基本的统计数据,它就能自动生成可视化图表,并附带清晰的图表说明。

文本润色与设计文档:提升文档质量

在项目开发的每一个阶段,撰写并完善设计文档和技术文档是不可避免的工作。而这些文档的质量,直接关系到团队的协作效率和项目的可维护性。幸运的是,通义千问和 GPT-4 在文档撰写和润色方面也展现出了极大的优势。

概要设计与详细设计

在编写项目的概念设计和详细设计时,我会先写出包含所有项目设计和功能描述的不经过修饰的内容,再让 AI 进行补全。AI 可以自动生成框架完整、语言流畅的设计文档初稿。这为我节省了大量时间,尤其是在项目初期需要撰写大量文档的阶段。

文本润色

除了生成初稿,AI 工具还可以帮助润色和优化现有的文档。AI 能够识别文档中的语法错误和表达不清的部分,提供流畅的修改建议,从而确保我撰写的文档既精准又专业。

新框架或新语言学习:AI 助力快速上手

作为一名高级软件工程师,不断学习和掌握新框架、新编程语言是保持竞争力的关键。传统的学习方法往往依赖于查阅文档、阅读教程或参加课程,但这些方式可能会耗费大量时间。幸运的是,借助 GitHub Copilot、Codeium 和通义千问等 AI 工具,我发现学习新技术的过程可以变得更加高效和直观。AI 不仅能帮助快速掌握基础知识,还能在实践中提供即时指导,从而加快我对新技术的应用和理解。

快速理解语法和基础

当接触到一个全新的编程语言时,通常会面临一些陌生的语法规则或基本概念。通过使用 GPT-4 或通义千问,我可以快速提出问题,例如“如何在 Rust 中定义一个结构体?”。AI 工具会直接给出详尽的语法示例和解释,这些答案往往比阅读官方文档或教程更加简洁明了。

代码片段与最佳实践

学习新框架的过程中,最常见的需求是快速获取功能代码片段,并将其整合到项目中。例如,当我初次学习 React 或 Vue.js 等前端框架时,使用 通义灵码 或 Codeium 可以在编写代码时智能补全常用模式或最佳实践。无论是状态管理、组件通信,还是表单处理,AI 会实时根据上下文生成高效的代码示例,帮助我理解和应用新技术的核心概念。

组合推荐

  1. VSCode 插件

    • Codeium/通义灵码:用于代码生成,因为可以捕获上下文。
  2. 网页版 Chat

    • 通义千问:用于脚本生成。
    • ChatGPT:用于非代码生成工作。

注意事项

  • 生成的代码需要经过仔细阅读和测试,或者自行编写单元测试条件。
  • 如果某个工具效果不理想,可以尝试更换大模型。
  • 注意表达清晰,给 AI 提供足够的上下文,它无法猜测你的想法。
  • 不要期待 AI 能胜任一切,有些工作可能需要自己动手,因为描述完整的需求和上下文可能更费劲,这时候可以让 AI 处理一些边缘工作。

结语

AI 不仅仅是未来,它已经是我们工作生活的一部分。利用好它,你的效率也能翻倍甚至更多。

目录
相关文章
|
6天前
|
编解码 Java 程序员
写代码还有专业的编程显示器?
写代码已经十个年头了, 一直都是习惯直接用一台Mac电脑写代码 偶尔接一个显示器, 但是可能因为公司配的显示器不怎么样, 还要接转接头 搞得桌面杂乱无章,分辨率也低,感觉屏幕还是Mac自带的看着舒服
|
8天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1563 10
|
1月前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
11天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
738 27
|
8天前
|
存储 SQL 关系型数据库
彻底搞懂InnoDB的MVCC多版本并发控制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
225 3
|
15天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
787 5
|
2天前
|
Python
【10月更文挑战第10天】「Mac上学Python 19」小学奥数篇5 - 圆和矩形的面积计算
本篇将通过 Python 和 Cangjie 双语解决简单的几何问题:计算圆的面积和矩形的面积。通过这道题,学生将掌握如何使用公式解决几何问题,并学会用编程实现数学公式。
108 60
|
1天前
|
人工智能
云端问道12期-构建基于Elasticsearch的企业级AI搜索应用陪跑班获奖名单公布啦!
云端问道12期-构建基于Elasticsearch的企业级AI搜索应用陪跑班获奖名单公布啦!
115 1
|
3天前
|
Java 开发者
【编程进阶知识】《Java 文件复制魔法:FileReader/FileWriter 的奇妙之旅》
本文深入探讨了如何使用 Java 中的 FileReader 和 FileWriter 进行文件复制操作,包括按字符和字符数组复制。通过详细讲解、代码示例和流程图,帮助读者掌握这一重要技能,提升 Java 编程能力。适合初学者和进阶开发者阅读。
104 61
|
14天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】