是否有一个网站可以查找已经编写的常用功能?

时间:2010-05-11 23:58:52

标签: algorithm language-agnostic code-reuse

我正坐在这里写一个我以前写过的函数,在地球上的某个地方。这是非常普遍的没有尝试过,我想知道为什么我不能只是去一个网站并搜索一个功能,然后我可以在2秒内复制并粘贴到我的项目中,而不是浪费我的一天重新发明轮子。

当然有一些你可以使用的库,但你在哪里找到这些库,当它们不在时,是否有像我所描述的那样的网站?

某种类型的wiki可能包含任何人都可以编辑和改进的免费代码?

编辑:我可以编写好的代码,我只是不知道怎么做。因此,例如,现在,我正在尝试在太空中本地化机器人/汽车/点。我知道有一种方法可以做到这一点,只是基于距离和距离。三角测量和三角测量。如何编码这是一个不同的故事。一个可以拥有伪代码的网站,一步一步如何做到这一点将是非常有用的。它还可以确保最佳解决方案,因为每个人都可以编辑它。我也在用Matlab写作,我讨厌它,因为它很古怪,增加了我创建像我描述的网站的愿望。

7 个答案:

答案 0 :(得分:21)

StackOverflow.com。不,我不是在开玩笑。

在最好的情况下,人们来到这里说“已经有一些图书馆已经完成了X”,并且集体智慧经常回答“是”。但最大的障碍是缺乏描述语言:即使在这里,许多海报的一个大问题是清楚地描述问题,让其他人认识到它是他们以前见过的东西。

如果人们无法理解你想要做什么,那么搜索引擎就不会。

答案 1 :(得分:14)

首先,有两点需要注意:

  1. 复制和粘贴您不理解的代码是一个坏主意。确保在使用之前准确了解代码的作用。
  2. 确保您尊重正在复制的代码的许可。这很重要!
  3. 除了这些警告之外,它通常依赖于语言。具有开放式开发精神的语言(不仅仅是一个开源实现,认为Python与Java相比)往往有官方档案的开源库。例如:

    此外,不要忘记查看您的语言标准库。一些现代语言有海量标准库,它们通常包含我正在寻找的功能:

    非公开开发的语言通常具有非官方社区档案。例如:

    第三类网站与语言无关。他们通常最好通过POG(简单的老式谷歌)搜索。例如:

    最后,我发现越来越有用的第四类网站是源代码搜索引擎:

    您也可以通过各种粘贴代码找到有用的源代码,或者至少得到帮助。

    • Pastebin与语言无关
    • HPaste主要是Haskell,但在其他语言中有一点点。

    通常,在一天结束时,最简单的方法就是google它。

答案 2 :(得分:5)

有一个wiki包含任何人都可以编辑和改进的免费代码:

Rosetta Code

作为概述的一种方式,有“Solutions by Programming Task”页面。


从前一页开始:

  

“Rosetta Code是一个编程的chrestomathy网站         想法是为同一个任务提供解决方案         尽可能多种语言进行演示         语言是如何相似和不同的,以及如何帮助         在一种方法中解决问题的人         在学习另一个。“

答案 3 :(得分:2)

将您在互联网上找到的代码剪切并粘贴到生产代码中就像在街上找到的口香糖。 - 迈克约翰逊

考虑到这一点,请尝试托管开源项目的网站,例如GitHubCodePlex,code.google.com等。

答案 4 :(得分:0)

除了像这个(Stack Overflow)之类的网站,我认为还有很多,也许是CodePlex,但我几乎标记你-1假设在互联网上找到的代码是你可以复制。

我建议阅读有关软件许可的内容,我希望你至少可以评论你从哪里获得它。

答案 5 :(得分:0)

我不确定这个问题是否与语言无关,但我这样使用GitHub;)其他语言可能会有这样的地方。

答案 6 :(得分:0)

来自O'Reilly的Safari Bookshelf有许多书籍,其中包含许多可供选择的实现。

http://my.safaribooksonline.com/

在找到我目前的工作之前,我是订户几年,我们有一个公司帐户!这是最好的福利之一,也是我提供的最好的资源之一。多年来我没有买过电脑书。