前言
相信大家在2023年后听说了不少的关于人工智能的话题,对于这种全新的科技又好奇又恐惧,今天我们来见识下一个在VS中的AI代码工具吧。
配置环境
安装
首先我们找到管理扩展,然后再搜索Fitten Code下载安装。
我这里已经下好过了,大家就下载这个就可以了,弹出窗口直接同意就可以了。
注册
如果有账号就登录,没有就注册一个登录。
使用
智能补全
这个功能可能是我们使用的最多的,我先不说如何使用,大家先看效果图!!
在写一个冒泡排序的过程中,我只用了不到3秒的时间!当我写了一个注释的时候他就分析我可能要写什么代码,从而以灰色的代码展示出来,如果我接受这些代码按下Tab键即可,他就会成为真实的代码!!
这个是十分方便的,但一定要记得检验下代码,智能补全也可能错,不可以一味的相信AI
我之前就遇到过这种现象,当时在实现string容器的时候,他没有考虑我写的代码中一些越界问题,而是根据大数据给出建议,导致出现了一个小错误导致内存越界访问,所以我们一定要检验他给的代码。
其次这个补全功能真的十分强大,当大家在初学某个语言或者知识的时候我i建议大家把他退出,自己写。如果你开了AI的话基本上就只需要按下Tab键就可以了。但当你需要开发一个项目时,可以合理使用AI,帮你减小负担。
智能问答
作为一个AI,他必不可少的又交互性,我们可以问他一些问题,他会给我们答案,但还是那句话,要理性的看答案,有时候他给的会错误,要合理的辨别。
点击下面按钮即可
以下是一个问如何写归并排序的回答,回答是比较有条理的。
当我们那个方面不清除时还可以再问。
单元测试
当我们写完一部分的代码后,可以使用他来生成测试用例,进而检测代码的正确性。
选中代码右键
生成的代码如下
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdio.h>
#include <assert.h>
// 冒泡排序函数
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 单元测试
void testBubbleSort() {
int arr1[10] = { 5, 3, 8, 6, 2, 7, 1, 4, 9, 0 };
int expected1[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
bubbleSort(arr1, 10);
for (int i = 0; i < 10; i++) {
assert(arr1[i] == expected1[i]);
}
int arr2[1] = { 5 };
int expected2[1] = { 5 };
bubbleSort(arr2, 1);
assert(arr2[0] == expected2[0]);
int arr3[2] = { 5, 3 };
int expected3[2] = { 3, 5 };
bubbleSort(arr3, 2);
assert(arr3[0] == expected3[0] && arr3[1] == expected3[1]);
int arr4[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int expected4[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
bubbleSort(arr4, 10);
for (int i = 0; i < 10; i++) {
assert(arr4[i] == expected4[i]);
}
}
int main() {
testBubbleSort();
printf("All tests passed.\n");
return 0;
}
可以正常运行通过的。
生成注释
大家写代码可能不喜欢写注释,就可以用AI一键生成注释,
与上述一致,选中右键。
他的结果不会直接在源代码上改变,会以一个对话的形式给出。
解释代码
当我们遇到晦涩的代码的时候就可以用AI帮助我们理解,操作步骤如下。
这里为了观看效果就以冒泡排序为例了。效果如下,是十分不错的。
检查BUG
当我们写完一段代码可以直接测试,也可以先检查下有无明显的BUG在测试。
操作如下。
AI生成的回答。
结语
到这里Fitten Code的主要功能已经介绍完毕了,还有一些功能大家可以自行扩展学习。
通过使用AI工具,我认为未来程序员这个工作不会消失,可能会减少岗位。AI带来的不仅是计算机行业的冲击,还是各个职业的冲击。或许未来专门的程序员会减少,转而向各个产业转移,实现数字化转型。