技术开发 频道

Krugler是重要的开发工具吗?



    【IT168 分析评论】Krugle是一个搜索源代码的引擎,这个搜索引擎可以从超过500个源码网站搜索大约20,000,000个源代码文件。Krugle的联合创始人Ken Krugler就开发人员搜索多少源码才更有效,以及Krugle的最新特性接受了采访。

    Krugle新加入的CodeSpaces功能,可以允许开发人员通过Krugle和其他的开发人员共享他们搜索结果、以及源码搜索在开发过程中所扮演的角色。

    Krugler在开发中的作用

    于很多开发人员而言,搜索引擎是最强有力的工具。然而,如果你问那些开发人员什么是最强的开发工具?也许他们会说是Eclipse,Visual Studio, GCC或Vi,可他们中没有一个人会提到搜索引擎。人们经常讨论编程方法、极限编程或测试驱动开发,但我到现在还没有看到一个优秀的软件开发人员将搜索引擎摆到合适的位置。 

    Krugler相信搜索引擎是开发人员查找源代码的主要途径之一,这些源代码不仅仅是他们自己编写的代码,而且很多是可以满足他们要求的其它源代码。Krugler说,被分类的信息可以使开发人员更有效地工作。

    在以前,大多数源代码是通过CD,以及其它被认为有效的方式得到。而在今天,你所需要的信息被广泛地分布在互联网上。如在网上有很多开源的工程,以及用于发布源码的网站上都存在着大量的源代码。

    今天,在网上有更多的资源可以利用。如果你是一个Java开发人员,在网上有许多采用了公共协议(如GPL等)的JAR包正在以几何级数的增长。因此,搜索引擎的价值就在于随着这些资源的增长,被搜出来的有用资源的数量也将快速的增长。

    你怎么快速地从纷繁复杂的资源中找到有用的信息呢?还有,你怎么确定已经找到了足够的信息或者你要找的东西不存在,因此需要自己来编写呢?做这样的决定可能需要很长时间,而且成本很高。

   Krugler指出,许多优先秀的开发人员将照搬别人的代码视为可耻的行为。

    我们认为,我们的大多数用户来自于开发人员最顶端的占10%左右, 这些人并不精通电脑,它们只是读读博客,进行广泛的社交,以及经常开会在一起讨论问题。

    当你看到许多人使用Krugle完成自己的工作而兴奋不已时,也许你会发现,它们并不都是程序员,至少来说他们不都是专业的程序员。

Krugler的特性

    同时开发人员使用搜索引擎的目地也多种多样,如通过Google查找代码的例子或用法,而Krugler的着眼点是提高搜索结果的可用度,以及提供搜索效率。

    人们使用搜索引擎总是带有目的性,人们认为从网上搜索网页总能给他们带来惊奇,但是他们并不知道如何找到真正想要的东西,而这也是我们的搜索引擎最有价值的地方,可以进行有针对性地搜索。

    现在使用代码搜索的用户,可以使用更多的语义类型进行搜索 ––– 我正在寻找可以做X的东西,通过这种方法,我们可以增强Krugle的用户接口。

    假设你正在寻找MD5算法的实现,如果你只是搜索源码,你会发现有很多工程使用了MD5算法。那么,你如何找到适合自己的代码呢?

    即使你发现一个工程中有你所需要的代码,你怎么评估这个工程,你怎么确定这些代码就是你所需要的呢?你还想查看这些代码,还有这些代码是否经常被更新,这些代码的许可证,以及其它工程使用这些代码了吗?

    幸运的是,我们可以为你提供关于包含这些代码的工程的信息,这些信息将告诉你一切。我们有大约50,000个工程的描述信息。这些信息有的来自己于Apache或SourceForge,有的是人们提交的,这些信息除了从网站上自动获取外,我们还通过人工的方式从相关的网站上获得信息,然后将这些信息和源代码相关联。

    我们的搜索引擎还可以理解源代码,搜索引擎通过对代码的关键字、类或函数调用的注释进行分析,这些对于搜索结果的准确和高效是非常有用的。

    还有一点对于搜索引擎非常重要,那就是源代码的重要程度,也就是它们的权值。这些权值主要取决于代码的来源。如代码的下载量,引用这些代码的网页的数量,以及关注它们的开发人员的数量。这些源码文件的权重将影响它们出现在搜索结果中的位置。

    Krugler发现通过搜索,可以得到很多有趣的搜索结果,而将这些有趣的搜索结果和其他人共享将会得到更好的效果,这在传统的搜索引擎中是无法做到的,而Krugle的最新功能,CodeSpaces,就是针对这一点而设计的。

    通过CodeSpaces,你可以为自己搜出来的信息建立链接。不管你从Krugle中搜出来源码,工程信息以及其它的任何信息,你都可以将指向这些信息的链接发送到Email中,或放到自己的blog中。任何人点击这个链接,就可以得到和最初搜索结果相同的内容。这将会使搜索引擎变得更有吸引力。

    你在开发工作中使用搜索引擎是为了得到更多的信息吗?你同意Krugler所说的,搜索引擎是最重要的开发工具之一吗?
0
相关文章