如何在github上找到自己想要的代码_搜GitHub代码,找API案例,aiXcoder「代码搜索引擎」...

文章介绍了aiXcoder这款智能代码搜索引擎,通过API使用案例、GitHub代码搜索等功能,帮助开发者更高效地查找和使用代码。它支持自然语言搜索代码,提供精准的代码块匹配,旨在提升开发者的编码效率。
摘要由CSDN通过智能技术生成

169c64727d5900c84da8b9554d306b9a.png

​作为开发者,找教程、查文档、搜开源可是必备技能,世界那么大,说不定我们现在做的事别人已经有了一套完整的解决办法。

与此同时,信息化时代也是开发者们用一行行代码、一句句命令搭建起来的,但是在代码的世界中,信息的获取并不是特别高效,开发者只能凭借各自的经验与技巧来提升效率。但现在,开发者有了新的智能代码搜索引擎。

aiXcoder 代码搜索:codesearch.aiXcoder.com

c1164da67e5418fbb5cc7da74969c909.png

我们知道,开源代码库可以通过关键字在 GitHub 中查找;教程博客可以在 Medium 这样的平台上搜索;API 则可在官方文档翻阅。

然而问题在于,它们的粒度都太大:一个开源项目,开发者很可能只需要一个函数或一段代码;一篇博客,可能真正有用的也就几句话或者几段代码。如果能深入代码层级获取信息,那么效果肯定是更好的,只不过它们更难实现一些。

深入代码层面,一个简洁好用的搜索系统能直接给出我们想要的代码块,相比一般搜索工具给出的自然语言,这些机器语言会更直接地告诉我们 API 怎么用、函数怎么写、Bug 出在了哪等等。

aiXcoder 近日就推出了这样的一套工具,通过搜索 API 使用案例、精准查找开源或私有代码块,能提升开发者的编码效率。


「智能代码搜索引擎」代码搜索可以分为以下 6 部分:

  • API使用案例搜索:搜索使用此API的代码块;
  • Github代码搜索:根据关键字搜索Github上的代码块;
  • 自然语言搜代码:支持中英文搜索,通过自然语言搜索对应功能的代码块;
  • 相似代码搜索:根据代码片段搜索Github上的相似代码块;
  • StackOverflow问答搜索:支持中英文搜索,通过自然语言搜索StackOverflow上的对应问题;
  • 企业内部代码搜索:定制搜索引擎,对企业内部代码进行搜索;

智能代码搜索,语言与代码的交融

对于开发者,概括来看,代码搜索能分为以代码搜代码和以文字搜代码,这两部分应该是相辅相成的。aiXcoder 就囊括了这两部分,我们下面以 Java 为例,展示这两类代码搜索都是什么样的,它们的效果又怎么样。

以代码搜代码

调包调参已经是开发中的一种常态,除去熟悉的那一些API,其它很多都需要仔细查阅 API 文档,或者看看其它开发者都是怎么用的。一般参数之类的信息 IDE 都会简要介绍,但重要的是需要弄懂 API 的使用环境、上下文代码都是什么样的。

比如说我们要搜索一个 API,那么首先需要确定完整的调用路径,这样才能定位到真正想要的代码块,下图就完成了定位:

971bb9ebb2b90c0e092b3bafa74d29a6.png

选择需要的 API 后,aixcoder 就能自动给出使用案例了,每一次 API 搜索都会给出多条案例,同时还会给出相关的 API。开发者很可能会感觉到,如下直接看使用案例要比读文档要简单得多,可以快速把使用逻辑迁移到自己的代码。

6b30d19133b79c09ae57e32083033c2d.png

除了上面这种标准API 的搜索,很多时候我们希望通过某些关键词来搜索代码片段。可能你会说 GitHub 自己就有搜索功能,然而它搜索的结果更多是项目名称或者项目描述,它并不会深入代码。aiXcoder 中的 Github 代码搜索会尝试根据关键词检索对应的代码片段,相比原有的搜索模块会更加精准。

如下在相似代码中粘贴一部分代码,aiXcoder就能帮你找到 GitHub 中其它开发者的实现,开发者从而能仔细思考优化方向。

1db977d969519873bca6bb3b42e0ad68.png

以文字搜代码

用自然语言直接检索代码是非常吸引人的一项 NLP 任务,它展现了自然语言与机器语言之间的对应关系,该任务也是非常前沿的一个研究领域。aiXcoder也能做到以自然语言搜索对应的代码,在搜索框中描述你想要完成的功能,说不定就能找到完整代码。

目前我们可以用中文,也可以用英文直接搜索,例如我们想将输入流转化为字符串或者将字符串写入文件,那么直接描述就好了。

例如键入「如何计算编辑距离」,开发者能得到一系列开源实现,基本上经过简单的修改就能嵌入到自己的代码逻辑中。

f8baf863dfe569601377cd5f5687122c.png

搜索出来的结果一般是单个函数或方法,它们基本上都实现了我们描述的功能,后续只需要简单修改一下,就能直接嵌入到我们自己的代码中。

另一种自然语言搜索是检索 StackOverflow 中的问题与解决方案,因为问答通常都是带有代码的,这些代码说不定就是我们遇到的问题。这种搜索方式也同时支持中文与英文,引擎会根据我们的意图自动找到对应的问答。

f19e306d3e233dbe128ddd7fb1bc0532.png

在灿烂的信息化时代,开发者专用的搜索也需要深入到代码层面,并给出函数、方法等更具体而「形象」的推荐,这种层面的搜索工具,才能显著提升开发的效率。

而 aiXcoder 就是为开发者而生,我们会不断努力把先进的AI技术应用于软件开发,为更多的开发者服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值