机器之心报道
机器之心编辑部
18 个月后,GitHub 终于宣布向所有用户开放全新的代码搜索引擎。
在软件开发的过程中,阅读和理解代码是一项基础工作。无论是实现新功能,还是查找 bug,开发人员首先要阅读和理解代码,这个时间甚至多于编写代码。如果能够像搜索引擎一样,快速找到开发需要的上下文代码,那么软件开发的效率将会大幅提升。
作为全球最大的源代码托管服务平台,2021 年 GitHub 发布代码搜索引擎 Code Search 预览版,之后 GitHub 又对 Code Search 进行了一系列的优化修改,并在今年 2 月公布了技术细节。
现在,GitHub 宣布所有用户都可以使用全新的代码搜索(code search)引擎和代码视图(code view),旨在让开发人员能够快速搜索、导航和理解代码,最终提高工作效率。
具体来说,GitHub 推出了一个完全重新设计的搜索界面。新界面不仅提供建议与补全,还能对搜索结果进行智能分类。
这基于 GitHub 从头开始构建的全新代码搜索引擎,该引擎的特点是速度更快(大约是旧代码搜索速度的两倍),功能更强大(支持子字符串(substring)查询、正则表达式搜索和符号搜索),并具备一定的代码理解能力,能将最相关的结果放在首位。
此外,研发团队还重新设计了 GitHub 的代码视图,将搜索、浏览和代码导航紧密集成起来。
我们来看一下改进之后,GitHub 的应用效果。
修复 bug
修复 bug 是软件开发中最常遇到的工作情况之一。在修复之前,开发者们首先要找到 bug 在哪。一个大型软件或项目通常具有多个系统或存储,如果没有代码搜索,开发者就不得不克隆一堆存储库并使用 grep 遍历它们。现在借助 GitHub 的代码搜索功能,开发者可以在大量代码中进行快速查找:
查找配置文件
在实际开发中,项目配置往往是硬性限制条件。GitHub 现在为开发者提供查找配置文件的功能。例如,在代码中搜索包含「内存(memory)」一词的 YAML 配置文件,就能查看一些内存占用情况:
这种查询功能对于开发中的资源规划与分配至关重要。
此外,GitHub 还制定了一些避免安全漏洞的规则,例如禁止使用 dangerouslySetInnerHTML 将危险的字符串注入 DOM。
网友怎么看
GitHub 全新的代码搜索正式上线后,有网友大赞其功能,称这是 5 年来最令人印象深刻的产品,优秀到可与 ChatGPT 媲美。
还有人表示 GitHub 的代码搜索功能比 Copilot 或任何大型语言模型(LLM)都有用得多。
但也有一些网友表示,以前的 GitHub 搜索效果很差,更多的时候他们习惯于使用 git-grep。
看来,全新的 GitHub 代码搜索需要开发者们自己尝试一下,才知道好不好用。
参考链接:
https://github.blog/2023-05-08-github-code-search-is-generally-available/