Language agnostic 什么是权威的/受尊重的;“最著名的实施”;网站/资源?

Language agnostic 什么是权威的/受尊重的;“最著名的实施”;网站/资源?,language-agnostic,resources,implementation,Language Agnostic,Resources,Implementation,编辑: 哇,对这个问题的最初回答是否定的。我想我用“最好”这个词可能会引发一些相当强烈的情绪;似乎有几个人抓住了这个词,决定马上驳回我的问题 显然,在很多很多情况下,没有一种方法是“最好的”,或者至少,最终成为一个问题的最佳解决方案的方法往往不是其他问题(甚至类似问题)的最佳解决方案我明白了。但现在让我试着详细说明我所问问题背后的原因 我倾向于用类比来解释我自己,所以这里是。在我目前的工作中,我几乎只在.NET中工作。NET在框架中内置了大量的功能。一个主要的例子是System.Collecti

编辑

哇,对这个问题的最初回答是否定的。我想我用“最好”这个词可能会引发一些相当强烈的情绪;似乎有几个人抓住了这个词,决定马上驳回我的问题

显然,在很多很多情况下,没有一种方法是“最好的”,或者至少,最终成为一个问题的最佳解决方案的方法往往不是其他问题(甚至类似问题)的最佳解决方案我明白了。但现在让我试着详细说明我所问问题背后的原因

我倾向于用类比来解释我自己,所以这里是。在我目前的工作中,我几乎只在.NET中工作。NET在框架中内置了大量的功能。一个主要的例子是
System.Collections.Generic
名称空间,它有一堆集合类,几乎没有一个.NET开发人员会从零开始重新开发,因为已经有了非常好的实现。如果我正在处理一个需要双链表的问题,我不会决定“好的,是时候写一个双链表类了”;我只想使用已经存在的
LinkedList
,或者,最多扩展它,或者用我自己的类包装它,添加一些额外的功能

我是说双链接列表的“最佳”版本是.NET中的
LinkedList
?当然不是那将是荒谬的。但是我非常怀疑.NET实现的
LinkedList
与大多数其他已建立的图书馆实现的藏书有着巨大的不同,这些藏书都是为了达到相同的目的(即双链接列表)。另一方面,我相对有信心,如果我从头开始编写自己的
实现,在健壮性、性能、灵活性等方面会有相当多的问题。原因很简单:不是因为我愚蠢、懒惰或不关心好的代码——只是因为我是一个人,我不是链表方面的专家,在设计链表时也没有考虑到所有需要考虑的因素

但我碰巧是一名开发人员,对如何在内部实现这些东西很感兴趣。因此,如果我可以查看一个页面,在该页面上可以看到一些经过深思熟虑的链表设计变体,或者任何已经为其编写了健壮、高效的实现的相当成熟的概念。(顺便说一句,是的,我知道.NET的
LinkedList
的源代码是可用的。我只是把它作为一个例子;实际上,我谈论的是所有解决方案中存在的问题,这些解决方案都是好的、有效的实现。)

现在,我谈到这是一个开放的东西;让我详细说明一下。我不是说像SourceForge.net、CodePlex或Google Code这样的网站。这些都是托管项目的网站,即为特定行业或领域或其他可分类用途定制的应用程序或库。我说的是这样的:

也许我应该首先提供这个链接,因为它可能比我迄今为止所写的任何东西都更能说明我在做什么。但我认为我所问的问题与我所见过的任何其他网站的主要区别在于,我特别想知道是否有某种方法可以解决一个新问题——因此,不一定有任何已知的、已建立的实现,就像在我的链表示例中一样——协作解决,以类似维基的方式,但不与任何特定的开源项目相关联

所以,作为一种总结,我有点想象这样一种情况:我发现自己面临着一个新问题。也许它还不够常见,无法在.NET这样的框架中解决。但是,这里和那里的一些开发人员都在独立地开发它,这已经足够普遍了。如果一个网站像我想象的那样存在,也许在某个时候,一个致力于解决这个问题的开发人员可以在该网站上发布一个想法,随着时间的推移,其他人可能会发现它并提出改进/修改建议,如果有足够的时间和参与,所有这些合作可能会产生一个非常好的实现。从那以后,像这样的实现最终可能会被认为是相当“标准”的,就像链表实现,或者快速排序实现,或者,我不知道,一些著名的伪随机数生成器。

这对现在的任何人来说都更有意义吗?我很有信心,我所说的并不是荒谬的,但是,嘿,如果人们是这么想的,那么也许是


开源项目非常流行。其中一些库适合特定用途,其中最好的库包括一些编写得非常好的代码

然而,如果您对一个开源项目感兴趣,那么找到一个适合您技能的项目可能是一项相当艰巨的任务。同时,如果您对在自己的工作中使用开源项目感兴趣,那么找到一个非常适合您需要的项目也会很困难,特别是当开源库X和库Y都有很多功能可以使用时,这两个库的功能重叠,因此将它们集成到代码中可能会很混乱

我们都在Stack Overflow和web上的其他地方看到过一位开发人员发布的问题:“我将如何实现这个想法?”其他人回答了这些问题,通常伴随着大量的示例代码。有时候这些答案会让我