产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

GitHub 全新代码搜索引擎正式上线,但用户对新产品“不买账”

  • 2023-05-13
    北京
  • 本文字数:1404 字

    阅读完需:约 5 分钟

GitHub 全新代码搜索引擎正式上线,但用户对新产品“不买账”

18 个月后,GitHub 终于宣布向所有用户开放全新的代码搜索引擎。


在软件开发的过程中,阅读和理解代码是一项基础工作。无论是实现新功能,还是查找 bug,开发人员首先要阅读和理解代码,这个时间甚至多于编写代码。如果能够像搜索引擎一样,快速找到开发需要的上下文代码,那么软件开发的效率将会大幅提升。

 

但是 GitHub 上可供搜索的代码浩如烟海,全球代码仓库已经超过 2 亿,并且这些代码不是静态的:它在不断变化,这就给代码搜索引擎带来了相当大的挑战。

 

上线 15 年来,GitHub 一直努力给大家提供一个好用的代码搜索引擎,但一直不能如愿。因为之前的代码搜索基于 Elasticsearch,但代码搜索与一般文本搜索有着很大的区别,毕竟代码是写给机器来理解的,需要利用代码之间的结构和相关性,并且还需要支持正则表达式进行搜索。

 

从 2020 年开始,GitHub 开始全力以赴构建自定义搜索引擎。这款代码搜索引擎被命名为 Blackbird,用 Rust 编写,它创建并增量维护一个由 Git blob 对象 ID 分片的代码搜索索引。增量的形式能节省大量存储空间,并保证了跨分片的均匀负载分布。同时支持对文档内容进行正则表达式搜索,还可以捕获额外的元数据,例如它还维护符号定义的索引。最终 Blackbird 满足了大家的性能目标:速度非常快,索引也非常紧凑,重量约为(去重)语料库大小的 1/3。

 

该代码搜索引擎于 2021 年底推出预览版,这周,GitHub 宣布其“普遍可用”。

 

除代码搜索引擎是全新的之外,GitHub 还推出了一个完全重新设计的搜索界面。新界面不仅提供建议与补全,还能对搜索结果进行智能分类。

 


另外,研发团队还重新设计了 GitHub 的代码视图,将搜索、浏览和代码导航紧密集成起来。

 


GitHub 全新的代码搜索正式上线后,有网友大赞其功能:“这是 5 年来最令人印象深刻的产品”,“很高兴能够在代码搜索中包含特殊字符!”

 

但不幸的是,也有不少用户给出了“不满意的”的反馈,要求有一种方法可以返回到旧版本。

 

CameronEnglish:“新的查看体验缓慢而糟糕。我并不真正关心新的代码搜索功能,因为我已经有了相关工具。视图更改极大地恶化了 Github 的体验。”

 

Shortnamesalex:“请给我们一个恢复到旧 UI 的选项。这个新 UI 太糟糕了。一切都感觉太局促但同时又太宽,而且代码字体令人眼花缭乱。”

 

还有网友说到:“我希望在编辑 Markdown 时看到对‘显示差异’功能的改进——以前,删除的内容是红色的,添加的内容是绿色的。现在这种差异却没有了。

 

但是这只是对新界面表达不满的其中几个,用户不断提出新问题:

 

 

可以说,GitHub 意识到了这些抱怨。“我们正在积极处理我们从社区收到的反馈,”公司发言人对外表示。“当我们构建新的代码搜索和代码视图时,我们优先考虑让开发人员能够快速搜索、导航和理解他们的代码,将关键信息置于上下文中,并最终提高他们的工作效率。这些优先事项仍然是我们的首要事项。”

 

参考链接:

 

https://github.blog/2023-05-08-github-code-search-is-generally-available/

https://github.com/orgs/community/discussions/54546#discussioncomment-5841984

https://www.theregister.com/2023/05/13/github_code_search_redesign_feedback/

 

2023-05-13 19:534773

评论

发布
暂无评论
发现更多内容

极光无限:用AI赋能安全 解决安全行业人才紧缺难题

风向标

人工智能

代码重构 - 课后作业

Nick~毓

太牛了,这份神仙级面试笔记把所有 Java 知识面试题都详解出来了

Java架构之路

Java 程序员 面试 编程语言

关于 UML 类图

西贝

UML 图表

数据库选型入门必读:如何在眼花缭乱的产品中挑出最适合业务的?

华为云开发者联盟

数据库 数据库选择 关系型

在vue2中使用ts

正经工程师

typescript vue.js

从三个产业侧影,打开万物智能的应用之匙

脑极体

甲方日常 25

句子

生活 随笔杂谈 日常

2020HC大会上,这群人在讨论云原生…

华为云开发者联盟

华为 华为云 大会

架构师训练营 1 期 - 第三周 - 设计模式

三板斧

极客大学架构师训练营

第三周学习代码重构总结

三板斧

极客大学架构师训练营

单例模式

knight

LeetCode题解:242. 有效的字母异位词,数组排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

重塑产业+价值共识,区块链助力供应链金融数字化

CECBC

区块链 供应链物链

深入剖析 | Java15语法特性

九叔(高翔龙)

Java 架构 Java 分布式 java15新特性

架构师训练营 1 期第 3 周:代码重构 - 作业

piercebn

极客大学架构师训练营

2020互联网公司中秋礼盒大比拼!(文末送福利)

Java架构师迁哥

一个草根的日常杂碎(9月29日)

刘新吾

随笔杂谈 生活记录 社会百态

开源=免费?

Philips

开源 开源社区

架构师训练营 - 作业 - 第二周

Max2012

技术解读丨目标检测之RepPoints系列算法

华为云开发者联盟

算法 神经 目标检查

阿里内部超流行的“SpringBoot+ 微服务指南”,理论与实战双管齐下

Java架构之路

Java 程序员 微服务 Spring Boot 编程语言

GitHub上标星68k,基于SpringBoot+Netty分布式开源的即时通讯系统项目

Java架构之路

Java 程序员 编程语言 Netty 项目实战

谈谈测试

BigBang!

测试的价值 测试文化 测试落地

国内上市进程或将提速!百度宣布小度科技独立融资

脑极体

软件架构(2)-框架设计

Zeke

极客大学架构师训练营

上手深度学习之前,我们先聊聊“数学”

华为云开发者联盟

神经网络 学习 数学

中秋佳节,程序员教你AI三步成诗,秒变“李白”

华为云开发者联盟

AI 中秋

一周信创舆情观察(9.21~9.27)

统小信uos

区块链掀起全民创业热潮!数字资产是未来全球最具前景和价值的!

CECBC

区块链 数字货币

全文!马云对数字时代全球化的全新解读

CECBC

全球化 数字时代

GitHub 全新代码搜索引擎正式上线,但用户对新产品“不买账”_语言 & 开发_Tina_InfoQ精选文章