在推动技术变革上,开源运动发挥了非常显著的作用。而Linux成功地将开源转换成商务模式,给广大开源工作者带来了更大的信心和勇气。目前,开源已成为主流,在未来的几年内,它的足迹将会遍布前沿教育、航空航天(如无人驾驶飞机)等许多领域。
借鉴现有的开源项目或开源代码,对于初级开发者来说,不失为一种很好的编程手段,但千万不要单纯地“用”,更多地是理解与提升,这样才会进步。
下面为大家介绍6款源码搜索引擎,让你找到更适合你的源码。
1.Ohloh
Ohloh Code是最大且非常全面的源码搜索引擎,根据FOSS目录来看,其拥有超过10亿行代码且在不断更新,它不仅是免费的,而且还可以通过社区进行免费编辑。通过搜索可以索引到所有的文本文件,并且对43种编程语言都带有语法提示功能。此外,搜索语法非常灵活,可以为你查找到各种不同类型的类。搜索引擎目前不支持正则表达式。
2.Krugle
Krugle是一个开源的搜索门户,基本上主流的开源代码都有收录,比如Apache、JavaDocs、SourceForge 等。你还可以搜索使用C++、Java、Perl、SQL、Ruby、XML、HTML等语言编写代码。Krugle还有一个非常高级的搜索功能,帮你快速定位到正确的API、库、示例代码或文档。在搜索结果页面,你可以直接浏览项目源码。
SearchCode从Github、BitBucket、CodePlex、SourceForge、Fedora等代码仓库里筛选了近160亿行开源代码,代码和文档由一位单独的开发者维护。你可以使用文件扩展、特定代码库名字、URL、正则表达式、特殊字符等过滤器对源码进行过滤,以便搜到你想要的代码。具体示例和文档代码搜索支持,可以参照这个例子。
NerdyData.com是一个可以搜索网页源代码中内容的搜索引擎,它已经拥有超过140万个Web代码索引,如果你是一名Web开发人员,你可以搜索到HTML标记、JavaScript代码或CSS样式代码段。NerdyData的目标不仅仅是做一个简单的源码搜索引擎,他们也在围绕Web开发流程来开发一系列功能。
当涉及到搜索特殊符号时,谷歌和其他搜索引擎并不是最佳选择。例如谷歌,去掉了许多标点符号和特殊符号。如果你想搜索含有特殊字符的变量和错误代码,使用普通的搜索引擎可能不会返回你期望的结果。Symbol Hound的出现解决了这一问题。
6.Merobase
Merobase搜索引擎与其他不一样,它并不是用来搜索源码,而是帮你搜索和定位软件组件,可以搜索Java、C++、C#等语言编写的组件。Merobase还可以搜索基于查询的简单文本接口,你也可以搜索基于函数、面向对象、名称、测试驱动的查询,这也是它的一大亮点。
前人栽树,后人乘凉。看他人的代码并且学会使用也是一种很好的学习方法。随着开源事业的不断发展与壮大,你可以在这些搜索引擎上搜索到任何你想要的代码。