你如何让别人相信你的代码并使用它?

问题描述:

我不时编写爱好代码。事情就是这些工具,类或者小代码库最终会成为一个无望的未来!我很想进一步开发我的项目,并让其他程序员信任它们。如果您打算使用您在互联网上找到的东西,那么您在该编程工具或小型图书馆中寻找的最重要的东西是什么?例如你会考虑单独的文件吗?你如何让别人相信你的代码并使用它?


感谢所有的贡献者。我会尽我所能来总结所说的话。随意修改列表。更正和补充更多的欢迎:)

获取博客,通过它发布代码。解释你为什么写它,它解决了什么问题。并鼓励他人改进,并尽可能保持现有的代码。如果您的工具非常有用,您将很快开发出一种“信任”您的代码的以下内容。

对于小工具来说,单独的文档并不是必须的,但是如果你想从社区中获得任何认真的采用,任何爬到框架世界的东西都应该有足够的文档和例子。

最重要的是该库是它的开源,所以我可以自己阅读代码。如果这是不可能的,那么我坚持文件。

也考虑使用项目托管网站(如谷歌代码或github)。

+0

绝对坚持它在Github或谷歌代码,让人们可以到它。 – Andrew 2009-09-10 20:30:18

我认为文档是您的项目的关键点。

该文件必须注明:

  • 你的库
  • 的目的是什么的主要特点是
  • 一个真的简短的教程,以使其在运行5分钟。
  • 许多例子

我让人们信任我的代码中的一些项目,但我敦促人们做出和维护自己的测试,我确保内容与单元测试。

文档总是很好,但我非常愧疚地花时间做我想做的事情。但让作者相当接触是有帮助的。

张贴在一个开放的源代码库,如code.google.com或sourceforge.net可能是从哪里开始?

下一个吸引眼球,文件明确和succintly库/应用程序的目的作为上述答案之一的概述。

最后,博客和直接邮件往来发生......

  1. 与你的代码一个明确的许可,如果你没有一个已经 (最好是一个鼓励修改/改进/分享你的 做代码...)

  2. 拥有公共版本控制和/或公共bug /问题跟踪器和/或邮件列表。有很多很好的网站免费提供这些服务。

  3. 单独的文档对我来说并不是决定性的因素(如果代码是有据可查的,代码质量很高)。

  • 文档解释为什么要这么写,当你开始的,它的预期的功能。了解你来自哪里将会让我看到未来的想法以及你可能未曾见过的短暂想法。
  • 解释API的技术文档以及如何实现它的一些示例。理想情况下,请将文档保存为遵循该语言的格式。例如C#倾向于使用XML语法来定义项目。这让我在阅读时有宾至如归的感觉。干净的代码 - 我不能强调这一点,因为太多人写出格外难看的代码。如果你的代码是丑陋的和/或不可读的,我可能会更容易从头开始编写它。至少,让你的代码一致。如果我无法理解代码,我会感到不舒服。
  • 解释您的更改的历史记录。看到这个项目如何发展,可以让我做出更好的计划。它还让人们看到你如何从错误中学习,并了解你的技能水平。与论坛相比,您可以感受到事物得到修复的速度,然后放入新版本。
  • 长时间思考你想要什么样的许可证。公共区域? BSD? GPL?限制性更强?
  • 关于您是否介意被联系以及是否有任何限制的说明。例如,你会介意更新吗?我解释安全漏洞?或者你可能会使用论坛或wiki?
  • 我能够获得最新工作和/或每晚构建的能力。 SVN什么的。这很有用,所以我知道我发现的错误是否已经修复。

原因之一文档可帮助人们信任你的代码,是他们知道一个给定的特征是一些你预期代码来执行(和你,所有其他条件相同,保持在未来的版本代码),或者是当前代码恰好这样做的事情,但它可能在任何时候都会作为错误修正或重构的副作用而改变。

有些人更喜欢通过查看代码的真正功能,这很好,但是文档告诉你(a)代码应该做什么,并且运气好(b)下一个版本的代码会做。如果我想长期使用您的代码,并在提供它们时采取bug修正更新,那么我需要知道您设计了一个我可以依赖的接口,并且您愿意遵守。记录它是一个强烈的暗示,你至少试图做到这一点。