在Vscode安装腾讯云代码助手插件并升级到最新版本,在对话输入框下方选择模型tencent:deepseek-r1,
发起对话,从3个方面考考腾讯云代码助手tencent:deepseek-r1
1.首先使用经典问题考验一下
how many 'r' in strawberry?
回答如下图
可以看出答案是对的,是3个
但是存在一些问题,中间的思考过程过于冗长, AI多次重复判断思考过程出现错误
而且分解说明那里标注错误,标出了4个r,而且对应位置不对
说明思考过程仍然存在优化空间
2.用Python写一个方法,实现冒泡排序
仍然有一个比较长的思考过程,
最后生成的代码如下:
def bubble_sort(arr):
"""
实现冒泡排序算法,返回升序排列的新列表
时间复杂度:O(n²)(最坏情况),优化后最佳情况可达 O(n)
参数:
arr (list): 需要排序的原始列表
返回:
list: 升序排列的新列表,原始列表不会被修改
"""
# 创建副本避免修改原始列表
sorted_arr = arr.copy()
n = len(sorted_arr)
# 外层循环控制遍历轮次
for i in range(n - 1):
swapped = False # 优化标志位
# 内层循环进行元素比较,每轮减少一个末尾已排序元素
for j in range(n - 1 - i):
if sorted_arr[j] > sorted_arr[j + 1]:
# 交换相邻元素
sorted_arr[j], sorted_arr[j + 1] = sorted_arr[j + 1], sorted_arr[j]
swapped = True
# 如果本轮无交换,说明已完全有序,提前终止
if not swapped:
break
return sorted_arr
# 使用示例
if __name__ == "__main__":
test_cases = [
[5, 3, 8, 6, 2],
[1],
[],
[9, 8, 7, 6],
[2, 5, 5, 3, 1]
]
for case in test_cases:
print(f"原始列表: {case}")
print(f"排序结果: {bubble_sort(case)}\n")
复制到IDE中,可以直接运行出排序结果,没有报错
运行结果:
原始列表: [5, 3, 8, 6, 2]
排序结果: [2, 3, 5, 6, 8]
原始列表: [1]
排序结果: [1]
原始列表: []
排序结果: []
原始列表: [9, 8, 7, 6]
排序结果: [6, 7, 8, 9]
原始列表: [2, 5, 5, 3, 1]
排序结果: [1, 2, 3, 5, 5]
[Finished in 875ms]
可以看出,在代码生成这一块,tencent:deepseek-r1生成的结果不错,只是思考过程还是比较长
3.代码解释、代码评审
(1)代码解释
在IDE中,选中代码,点击右键--腾讯云AI代码助手--Explain code,
这里给出一部分结果
代码解释比较详细,把一段代码进行了拆分,作了比较细致的分析。
(2)代码评审
在IDE中,选中代码,点击右键--腾讯云AI代码助手--Code review
代码没有问题的时候,会看到这个结果
修改一下代码,把上述排序代码中的j+1改成j-1,看能不能检测出来
创建文件test2.py,使用代码
def bubble_sort(arr):
"""
实现冒泡排序算法,返回升序排列的新列表
时间复杂度:O(n²)(最坏情况),优化后最佳情况可达 O(n)
参数:
arr (list): 需要排序的原始列表
返回:
list: 升序排列的新列表,原始列表不会被修改
"""
# 创建副本避免修改原始列表
sorted_arr = arr.copy()
n = len(sorted_arr)
# 外层循环控制遍历轮次
for i in range(n - 1):
swapped = False # 优化标志位
# 内层循环进行元素比较,每轮减少一个末尾已排序元素
for j in range(n - 1 - i):
if sorted_arr[j] > sorted_arr[j - 1]:
# 交换相邻元素
sorted_arr[j], sorted_arr[j - 1] = sorted_arr[j - 1], sorted_arr[j]
swapped = True
# 如果本轮无交换,说明已完全有序,提前终止
if not swapped:
break
return sorted_arr
# 使用示例
if __name__ == "__main__":
test_cases = [
[5, 3, 8, 6, 2],
[1],
[],
[9, 8, 7, 6],
[2, 5, 5, 3, 1]
]
for case in test_cases:
print(f"原始列表: {case}")
print(f"排序结果: {bubble_sort(case)}\n")
查看代码评审结果
多次尝试之后的结果:
结论:
接入Deekseek-R1后的腾讯云代码助手存在一个通用问题,就是思考链路较长,思考过程比较久
面对AI通用的一些问题,可能出现错误
在代码生成、代码解释方面表现优秀
代码评审存在一些问题,但是可以正确出结果
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。