写点什么

2023 总结 - 后端开发如何利用 AI 快速完成工作

作者:Geek_31b28e
  • 2023-12-10
    河南
  • 本文字数:1759 字

    阅读完需:约 6 分钟

在上班无聊的摸鱼中突然发现了 InfoQ 写作社区与火山引擎社区的有奖征文,对于我来说这肯定是不能缺席,嘿嘿,毕竟可是有奖品。

前言

从 2021 年 github copilot 的推出,这款产品是由 OpenAi 团队开发的人工智能助手开始,AI 已经慢慢影响着我的编程习惯。常用功能有:根据代码的上下文自动补全代码、自动生成函数或方法的注释(很实用)、问题解决建议(鸡肋)、生成单元测试(超级实用,应该都能理解写单元测试的痛苦)等等很多功能,很不幸,2022 年,copilot 宣布不太免费,当时我并不是深度依赖这款工具,所以我之后几年并没有再使用过它。

2023

2023 可以称为 AI 爆发元年,openAI 团队推出了 chatGPT 3.5,惊艳了全球,对市面上其他 AI 产品来说可以是降维打击,2023 下半年,我入职了一家新公司,这家公司自研了一个 AI 的插件,可以帮助自动补全代码、生成注释、生成单测、解释代码等。

自动化补全代码

  1. 单行代码补全


可以根据代码上下文,为我输入的内容给出补全提示,比如说我输入了一个函数名称,插件会给出代码补全提示,可以按 tab 接收补全提示;


2. 多行代码补全

还可以输入注释文本来完成多行代码补全,比如说我输入了 “判断一个字符串是否为英文” 然后按下回车,插件会自动为注释内容生成多行代码 或者 一个方法,然后按 Tab 键 接受代码提示;

生成注释

这个功能是我常用的,比如可以在代码中选中需要添加注释的代码,然后选择添加注释,就会在所选代码上自动生成注释


解释代码

相信大家去阅读别的童鞋代码的时候会很痛苦,尤其是面对一些陈年屎山的时候,会让人抓狂,现在可以让 AI 工具帮助我们去解释这段代码,比如这段 快速排序 的代码(当然这段代码我也是让 AI 帮我写的):


public class QuickSort {
public static void quickSort(int[] arr, int low, int high) { if (low < high) { int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1); quickSort(arr, pi + 1, high); } } private static int partition(int[] arr, int low, int high) { int pivot = arr[high];
int i = (low - 1); // Index of smaller element
for (int j = low; j < high; j++) { if (arr[j] < pivot) { i++;
// Swap arr[i] and arr[j] int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } }
int temp = arr[i + 1]; arr[i + 1] = arr[high]; arr[high] = temp;
return i + 1; }
public static void main(String[] args) { int[] arr = {10, 7, 8, 9, 1, 5}; int n = arr.length;
quickSort(arr, 0, n - 1);
System.out.println("Sorted array: "); for (int i = 0; i < n; i++) { System.out.print(arr[i] + " "); } System.out.println(); }}
复制代码


我会复制这段代码去让 AI 帮我解释这段代码的含义,如下:



之后面对童鞋们写的屎山的时候,再也不用抓狂了,不想看的代码可以直接扔给 AI 帮你阅读,节省时间且心情也会很愉快。

生成单元测试

这个功能呢是我使用频率最高的了,谁懂测试覆盖率 100% 的痛苦呀,之前写单元测试的时间要大于我写功能代码时间的两倍了,真的是最痛苦的一件事情,现在我会选中要我要写单元测试的方法或函数,让 AI 帮我写单元测试,当然,有时生成的单元测试达不到 100%的,毕竟 AI 也只是辅助工作,又不是替代我工作。



工作量噌噌的往下减,排期还是之前的排期,摸鱼时间蹭噌的往上涨。

生成名称

写代码最困难的事莫过于起名字了,什么类名、方法名、函数名、字段名,让人头皮发麻,尤其是英语不好的我,往往想了好久的名称是无法代表这个含义的,这时,我想到了,可以让 AI 帮助我生成名字,哈哈,果然,AI 是要比我想出来的名字要好的,AI 完胜我。



用了 AI 后,老婆再也不用担心我秃头了

尾声

今年,我已经是 AI 的重度使用者,帮助我减轻了很多工作量,快速完成工作,今年,AI 大模型的井喷出现,GPT4.0 在一些领域已经可以媲美人类专家了,当然,有时 AI 总是莫名的抽风。不过我认为,AI 在之后肯定会替代很多重复无意义的劳动的。

发布于: 刚刚阅读数: 7
用户头像

Geek_31b28e

关注

还未添加个人签名 2023-12-08 加入

还未添加个人简介

评论

发布
暂无评论
2023总结 - 后端开发如何利用 AI 快速完成工作_AI_Geek_31b28e_InfoQ写作社区