QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

评论

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

传媒行业必备!双十一购买华为云Flexus数字人后,我总结了3大优势

平平无奇爱好科技

双十一站在中小企业的角度,谈谈我为什么选择华为云Flexus数字人

平平无奇爱好科技

伟创力完成对Crown Technical Systems公司的收购

财见

构建高效AI工作流:打造灵活自动化的分步指南

代码忍者

企业必看:10款知名的公司内部网盘推荐

易成研发中心

双十一入手数字人!华为云Flexus数字人3大优势赋予硬核体验

平平无奇爱好科技

《Django 5 By Example》阅读笔记:p339-p358

codists

Python django

企业如何选型区块链电子合同系统?6个推荐方案

爱吃小舅的鱼

区块链 电子合同系统

淘宝直播弹幕数据接口爬虫项目技术文档

tbapi

淘宝API接口 淘宝直播间弹幕接口 淘宝直播间接口 淘宝数据分析接口

霍尼韦尔拟将个人安全防护设备业务出售给PIP公司

财见

鸿蒙NEXT元服务:利用App Linking实现无缝跳转与二维码拉起

zhongcx

鸿蒙

OmniFocus Pro 4 v4.4.3正式激活版 mac最佳GTD时间效率工具

理理

CRISPR-detector:快速、准确地检测、可视化和注释基因组编辑事件引起的全基因组范围突变

INSVAST

基因测序 基因数据分析 生信服务 生信分析 Sentieon

Mac代码管理软件:SnippetsLab for mac v2.6激活版

理理

如何使用Postman优雅地进行接口自动加密与解密

LLLibra146

Python Postman 代码技巧 自动加解密 调试技巧

双十一我为什么选择华为云Flexus数字人?广告输出更高效率、更有创意

平平无奇爱好科技

双十一华为云Flexus数字人性价比有多高?百元投入即可轻松入手

平平无奇爱好科技

ForkLift for mac:文件管理超能力,高效传输、智能预览全掌控

理理

GeneMind 公司的 GenoLab M 测序平台 WGS 和 WES 数据基准测试

INSVAST

基因测序 基因数据分析 生信服务 生信分析 Sentieon

Scheduled线程池实践

FunTester

日立携手APIX启动绿色金融创新挑战赛:征集创新绿色融资解决方案

财见

直播预告丨大模型+知识库(RAG):如何使能行业数智化?

平平无奇爱好科技

文献解读-Transcriptional Start Site Coverage Analysis in Plasma Cell-Free DNA Reveals Disease Severity and Tissue Specificity of

INSVAST

基因检测 基因数据分析 生信分析 Sentieon

Audition 2025 全新升级:多轨编辑超进化与协作功能大突破

理理

RGB/INT8 输入注意事项

地平线开发者

自动驾驶 算法

如何通过高效的缓存策略无缝加速湖仓查询

镜舟科技

开源 StarRocks Data Cache

专为中小型企业设计!双十一华为云Flexus数字人性价比更高

平平无奇爱好科技

华为鸿蒙智家,推开未来之家的三重门

脑极体

AI 鸿蒙智家

Rhinoceros 8 (犀牛8):建模实力大爆发,复杂曲面构建轻松拿捏

理理

Ai2025新增功能介绍 Illustrator 2025 激活版下载安装

理理

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