写点什么

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:535167

评论

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

NB的Github项目,看到最后一个我惊呆了!

艾小仙

Java GitHub

如何通俗易懂理解Python类和面向对象?

Jackpop

chrome调试工具之network

格斗家不爱在外太空沉思

浏览器 11月月更 浏览器调试

卷积模型分类图片

芯动大师

Python 卷积网络 11月月更

如虎添翼!微软OneNote迎来新利器!

Jackpop

Vue组合式函数(一)

Augus

vue.js 11月月更

Vue-Vuex学习

格斗家不爱在外太空沉思

vue.js vuex 11月月更

阿里低代码引擎怎么样,好不好用?

优秀

低代码

华为高清空间音频将登陆座舱,打造移动“车载大剧院”

最新动态

产品负责人的轻度思考,6个小策略,面对迭代Sprint评审会

老彦

敏捷 回顾会 产品负责人

网络安全必学SQL注入

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

全新升级的鸿蒙开发套件,你想知道的都在这里

HarmonyOS开发者

HarmonyOS

2022-11-04:给定一个正数n,表示有多少个节点 给定一个二维数组edges,表示所有无向边 edges[i] = {a, b} 表示a到b有一条无向边 edges一定表示的是一个无环无向图,也

福大大架构师每日一题

算法 rust 福大大

JAVA中如何实现代码优化(技巧讲解)

叶秋学长

Java 优化 技巧总结 11月月更

工赋开发者社区 | SPL工业智能:发现时序数据的异常

工赋开发者社区

HNCTF--Misc部分题解

我是一个茶壶

11月月更 杂项 HNCTF

【C语言】case 关键字

謓泽

11月月更

WEB-INF/web.xml泄露

我是一个茶壶

WEB安全 11月月更 源码泄露

hadoop2.7集群初始化之后没有DataNode的问题

程序员欣宸

大数据 hadoop 11月月更

应用防火墙WAF架构分类

阿泽🧸

waf 11月月更

华为阅读“WebBrain搜索”和“知识图谱”在HDC2022首次亮相!

叶落便知秋

Mac上有那些你认为极其好用的app?

Jackpop

作为资深Mac用户,有哪些你相见恨晚的软件值得推荐?

Jackpop

低代码实现探索(五十一)组件的配置

零道云-混合式低代码平台

vue中网络请求axios的使用和封装

格斗家不爱在外太空沉思

Vue axios 11月月更

不借助 Fiori client,直接在手机浏览器里调用 SAP UI5 BarcodeScanner 实现条形码扫描的可能性?

汪子熙

sdk SAP Fiori SAP UI5 11月月更

九科信息荣获《2022爱分析RPA厂商全景报告》RPA软件市场代表厂商

九科Ninetech

独有且优质!这些Mac软件绝了!

Jackpop

工赋开发者社区 | 研究了代码质量后,开发速度提高了 2 倍,bug 减少了 15 倍

工赋开发者社区

云原生训练营课程总结

Rex

华为发布鸿蒙开发套件 全面加速推进鸿蒙生态

科技汇

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