前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用New Bing理解、评估与改进代码

使用New Bing理解、评估与改进代码

作者头像
杜逸先
发布2023-04-13 16:35:03
6060
发布2023-04-13 16:35:03
举报
文章被收录于专栏:追不上乌龟的兔子

写了一段聪明的 Python 代码扔给 New Bing 去理解(出自118. 杨辉三角 - 力扣(Leetcode))。

代码语言:javascript
复制
from itertools import pairwise


class Solution:
    def generate(self, numRows: int) -> list[list[int]]:
        return [
            (last := [1, *(a + b for a, b in pairwise(last)), 1] if x else [1])
            for x in range(numRows)
        ]
explain python code
explain python code

整体回答还是相当不错的,很好地解释了代码的意图和算法实现。不过有一些细节上的问题,比如 Python 的赋值表达式语法是在 Python 3.8 版本引入的,而不是 3.10。这也一定程度上体现出大语言模型的局限性,经常会生成一些并不存在的事实。

接着让它评价一下这段代码的可读性。

readability
readability

有理有据,令人信服。

然后让它尝试改进一下代码。

refactor
refactor

由于 New Bing 每次回复的 token 数是有上限的,最后的双重 for 循环版本的代码不完整。不过它的改进思路很明确,渐进式逐步提升了代码的可读性(加注释->将赋值表达式改为提前定义变量->替换 pairwise 函数->将列表生成器改为 for 循环)。

New Bing 的 coding 能力得到了我的认可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-142,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档