ITPub博客

首页 > 数据库 > 数据库开发技术 > 通义灵码,让编程变得更加高效

通义灵码,让编程变得更加高效

原创 数据库开发技术 作者:derekwh 时间:2024-05-23 14:54:15 0 删除 编辑

通义灵码,是阿里云出品的一款基于通义大模型的智能编码辅助工具,该产品于2023年10月31日在云栖大会上正式对外发布。

通义灵码提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云的云服务使用场景调优,助力开发者高效、流畅的编码。

功能特点

行级/函数级实时续写:根据当前语法和跨文件的代码上下文,实时生成行、函数建议代码。 

自然语言生成代码:通过自然语言描述想要的功能,可直接在编辑器区生成代码。

单元测试生成:支持根据JUnit、Mockito、Spring Test、unit test、pytest等框架生成单元测试。

代码注释生成:一键生成方法注释及行间注释,节省写代码注释的时间,并能够有效提升代码可读性。 

代码解释、研发智能问答、异常报错排查:基于海量研发文档、产品文档、通用研发知识、阿里云的云服务文档和SDK/OpenAPI文档等进行问答训练,为开发者答疑解惑,轻松解决研发问题。

支持主流编程软件

支持Java、Python、Go、JavaScript、TypeScript、C/C++等主流语言。

兼容Visual Studio Code、JetBrains IDEs、Pycharm等主流编程工具。

核心使用场景

本文介绍最核心的两个使用场景。本文在pycharm中安装通义灵码插件进行使用。

解释代码

我先截取某个项目中的一段代码如下:

def getmap():
    qm = pd.read_excel('3.输出文件/输出:编排路线文档.xlsx')
    m = folium.Map(location=[23, 115],
                   zoom_start=8, zoom_control='False', control_scale=True,
                   tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
                   attr='&copy; <a href="https://www.baidu.com/"></a>'
                   )
    # 为地图对象添加点击显示经纬度的子功能
    m = m.add_child(folium.LatLngPopup())
    incidents = folium.map.FeatureGroup()
    co = ['green', 'black', 'blue', 'red', 'darkblue', 'orange', 'cadetblue', 'darkred', 'lightblue',
          'pink', 'darkgreen', 'beige', 'lightgreen', 'purple', 'black', 'green']
    hh = 0
    for j in np.unique(qm.归属.astype(str)):
        p = []
        ddf = pd.read_excel('0.经纬度坐标\网点经纬度.xlsx', sheet_name=j)
        k = -1
        kk = -1
        incidents = folium.map.FeatureGroup()
        for pjb in ddf.values[:, [3, 2]]:
            k += 1
            incidents.add_child(
                folium.CircleMarker(  # CircleMarker表示画圆
                    pjb.tolist(),  # 坐标
                    radius=3,  # 圆圈半径
                    popup=ddf.iat[k, 0],  # 标签
                    color='red'  # 标志的外圈颜色
                ))
        incidents.add_child(
            folium.Marker(  # CircleMarker表示画圆
                ddf.values[:, [3, 2]][0].tolist(),  # 坐标
                popup=ddf.iat[0, 0],  # 标签
                icon=folium.Icon(color='red')  # 颜色
            ))
        m.add_child(incidents)  # 把以上图添加进去
        for i in qm[qm['归属'] == j].线路:
            p.append(re.sub('\(.*?\)', '', i).split('-'))
        for mn in p:
            q = []
            for n in mn:
                q.append([ddf[ddf['网点名称'] == n].纬度.values[0], ddf[ddf['网点名称'] == n].经度.values[0]])
            q_map = folium.PolyLine(locations=q, color=co[hh % len(co)]).add_to(m)
            attr = {"fill": co[hh % len(co)], "font-weight": "bold", "font-size": "20"}
            plugins.PolyLineTextPath(q_map, "           >                     ", repeat=True, offset=8,
                                     attributes=attr).add_to(m)  # \u2794   
            plugins.AntPath(locations=q, reverse=False, color=co[hh % len(co)], delay=700, dash_array=[30, 100]).add_to(
                m)
            hh += 1

    m.save('3.输出文件/ABCmymap.html')
    update_mymap('3.输出文件/ABCmymap.html')  # 更新地图文件
    wb.open('3.输出文件\ABCmymap.html')  ####用反斜杠才能打开
    text1.insert(INSERT, "完成路径图制作")


我们可以通过通义灵码来解释这段代码。


续写代码

通义灵码会自动猜测下一段代码的意图,并可以直接生成新代码。

总的来说,通义灵码作为一款智能编码助手,通过提供代码智能生成、自然语言生成代码、单元测试生成、代码注释生成、代码解释与研发智能问答等功能,极大地提高了程序员的编程效率和质量。

它使得程序员能够更加专注于核心逻辑的实现,而无需在琐碎的代码编写和错误排查上浪费大量时间。同时,它还提供了更加自然、直观的编程方式,让编程变得更加轻松和高效。


原文作者:Python学习杂记;如有侵权,请联系管理员删除。

上一篇: 常用AI工具汇总
请登录后发表评论 登录
全部评论
央企算法工程师,微信公众号: python数智工坊

注册时间:2021-03-14

  • 博文量
    305
  • 访问量
    162386