开发者必备的6款源码搜索引擎

在推动技术变革上,开源运动发挥了非常显著的作用。而Linux成功地将开源转换成商务模式,给广大开源工作者带来了更大的信心和勇气。目前,开源已成为主流,在未来的几年内,它的足迹将会遍布前沿教育、航空航天(如无人驾驶飞机)等许多领域。

  借鉴现有的开源项目或开源代码,对于初级开发者来说,不失为一种很好的编程手段,但千万不要单纯地“用”,更多地是理解与提升,这样才会进步。

  下面为大家介绍6款源码搜索引擎,让你找到更适合你的源码。

  1.Ohloh

  Ohloh Code是最大且非常全面的源码搜索引擎,根据FOSS目录来看,其拥有超过10亿行代码且在不断更新,它不仅是免费的,而且还可以通过社区进行免费编辑。通过搜索可以索引到所有的文本文件,并且对43种编程语言都带有语法提示功能。此外,搜索语法非常灵活,可以为你查找到各种不同类型的类。搜索引擎目前不支持正则表达式。

  2.Krugle 

  Krugle是一个开源的搜索门户,基本上主流的开源代码都有收录,比如Apache、JavaDocs、SourceForge 等。你还可以搜索使用C++、Java、Perl、SQL、Ruby、XML、HTML等语言编写代码。Krugle还有一个非常高级的搜索功能,帮你快速定位到正确的API、库、示例代码或文档。在搜索结果页面,你可以直接浏览项目源码。

  3.SearchCode 

  SearchCode从Github、BitBucket、CodePlex、SourceForge、Fedora等代码仓库里筛选了近160亿行开源代码,代码和文档由一位单独的开发者维护。你可以使用文件扩展、特定代码库名字、URL、正则表达式、特殊字符等过滤器对源码进行过滤,以便搜到你想要的代码。具体示例和文档代码搜索支持,可以参照这个例子

  4.NerdyData

  NerdyData.com是一个可以搜索网页源代码中内容的搜索引擎,它已经拥有超过140万个Web代码索引,如果你是一名Web开发人员,你可以搜索到HTML标记、JavaScript代码或CSS样式代码段。NerdyData的目标不仅仅是做一个简单的源码搜索引擎,他们也在围绕Web开发流程来开发一系列功能。

  5.Symbol Hound

  当涉及到搜索特殊符号时,谷歌和其他搜索引擎并不是最佳选择。例如谷歌,去掉了许多标点符号和特殊符号。如果你想搜索含有特殊字符的变量和错误代码,使用普通的搜索引擎可能不会返回你期望的结果。Symbol Hound的出现解决了这一问题。

  6.Merobase

  Merobase搜索引擎与其他不一样,它并不是用来搜索源码,而是帮你搜索和定位软件组件,可以搜索Java、C++、C#等语言编写的组件。Merobase还可以搜索基于查询的简单文本接口,你也可以搜索基于函数、面向对象、名称、测试驱动的查询,这也是它的一大亮点。

  前人栽树,后人乘凉。看他人的代码并且学会使用也是一种很好的学习方法。随着开源事业的不断发展与壮大,你可以在这些搜索引擎上搜索到任何你想要的代码。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小狼的世界

RSS的相关知识

rss是RDF Site Summary 的缩写(RDF是Resource Description Framework的缩写 ),是指将网站摘要用xml语言描述...

953
来自专栏逸鹏说道

撞库扫号防范

0x00 背景 撞库扫号攻击已经是Top 10 Security Risks for 2014之一,不管你的网站密码保存的额多好,但是面试已经泄露的账号密码,撞...

3957
来自专栏大数据挖掘DT机器学习

腾讯、网易、新浪新闻网站爬虫编写记录及评论格式分析

作者:reetsee.com首席运营官 http://blog.csdn.net/qq_17754181/article/details/45179667 至...

3525
来自专栏北京马哥教育

面试分享系列:从现在开始,准备加入BAT!

豌豆贴心提醒,本文阅读时间5分钟 程序员是一项技术工种,个人的技术水平决定薪资。 程序员需要在面试的过程中展示自己的技术水平,通过有说服力的表现拿到自己理...

3817
来自专栏性能与架构

小程序优秀开发资源

下面是一些 github 上比较受欢迎的小程序项目,包括开发框架、UI组件等 labrador (开发框架) 特性: 支持加载海量NPM包 支持ES6/7标准代...

3495
来自专栏九彩拼盘的叨叨叨

前端知识点列表

641
来自专栏悦思悦读

码农的瑞士军刀-脚本语言

首先声明,这里关于语言间的比较仅仅是为了说明问题。世界上没有一个开发语言有绝对的好坏,只有是否适合你当前的环境。 很多码农工作的非常辛苦,每天加班。一般情况,团...

36410
来自专栏自动化测试

DIY自动化测试【智能音箱】

    笔者从事智能音箱系统测试,这是一款基于android系统的智能语音助手产品。基本功能特性和测试方法都已稳定,目前多产品快速迭代,涉及的场景较多且数据量大...

3303
来自专栏Vamei实验室

Python标准库的学习准备

Python标准库是Python强大的动力所在,我们已经在前文中有所介绍。由于标准库所涉及的应用很广,所以需要学习一定的背景知识。 硬件原理 这一部份需要了解内...

1705
来自专栏听雨堂

Mapx用xml创建点图层

     Mapx4.*中,并不支持xml,到5以后,创建ds支持xml了,听起来很美,但是,在网上居然没有找到一个说这个的,难道mapx就没人用了吗?    ...

1778

扫码关注云+社区