Language agnostic 您如何让其他人信任您的代码并使用它?

Language agnostic 您如何让其他人信任您的代码并使用它?,language-agnostic,Language Agnostic,我时常写一些爱好代码。问题是,这些工具、类或微小的代码库最终会变成一个毫无希望的未来!我愿意进一步开发我的项目,并让其他程序员信任它们。如果你打算使用你在互联网上找到的东西,你在这个编程工具或小型库中寻找的最重要的东西是什么?例如,你会考虑单独的文件吗? 感谢所有的贡献者。我将尽力总结所说的话。请随意修改列表。更正和添加内容更受欢迎:) 把你的项目放在人们可以看到的地方 够着它。考虑 或 其他网站 使用公共版本控制和 bug追踪器,以便其他人可以获取 您的项目的最新源代码 编译并使用

我时常写一些爱好代码。问题是,这些工具、类或微小的代码库最终会变成一个毫无希望的未来!我愿意进一步开发我的项目,并让其他程序员信任它们。如果你打算使用你在互联网上找到的东西,你在这个编程工具或小型库中寻找的最重要的东西是什么?例如,你会考虑单独的文件吗?


感谢所有的贡献者。我将尽力总结所说的话。请随意修改列表。更正和添加内容更受欢迎:)

  • 把你的项目放在人们可以看到的地方 够着它。考虑 或 其他网站

  • 使用公共版本控制和 bug追踪器,以便其他人可以获取 您的项目的最新源代码 编译并使用

  • 如果您愿意提供真实世界的代码,请编写测试

  • 如果你在建一个图书馆,就放一个 在设计一个稳定的 接口


    • 获得一个博客,通过它发布代码。解释你为什么写它,它解决了什么问题。并鼓励其他人改进它,使代码尽可能保持最新。如果你的工具有用,你会很快开发出一个“信任”你的代码的追随者


      对于小型工具来说,单独的文档不是必须的,但是如果你想让整个社区认真采用的话,任何潜入框架世界的东西都应该有足够的文档和示例。

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


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

      < P>我认为文档是项目的关键点。

      文件必须说明:

      • 你们图书馆的目的是什么
      • 主要特点是什么
      • 一个非常简短的教程,让它在5分钟内运行
      • 许多例子

      我让人们在许多项目中信任我的代码,但我敦促人们进行并维护他们自己的测试,并且我确保我对单元测试感到满意


      文档总是很好的,但是我很内疚,因为我没有时间做我想做的事情。但是,让作者保持相当的可联系性是很有帮助的。

      将其发布到开源存储库中,如code.google.com或sourceforge.net,可能是一个开始

      接下来,为了引起注意,请清楚、简洁地记录库/应用程序的用途,如上面的一个答案中所述

      最后,博客和直接邮件交换发生了

    • 如果您还没有明确的许可证,请将其与代码一起使用 (最好是鼓励修改/改进/分享您的 代码…)

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

    • 单独的文档对我来说不是决定性的因素(如果代码被很好地文档化并且代码质量很高)

      • 解释您编写它的原因、启动它的时间以及它的预期功能的文档。了解你来自何方将使我看到未来的想法,以及你可能没有看到的短消息
      • 解释API的技术文档以及如何实现它的一些示例。理想情况下,保持文档的格式与语言一致。例如,C#倾向于使用XML语法来定义项。这让我在阅读时有宾至如归的感觉
      • 干净的代码——我怎么强调都不过分,因为太多人编写了异常丑陋的代码。如果您认为代码很难看和/或不可读,那么我自己从头开始编写代码可能会更容易。至少,要使代码保持一致。如果我不能理解代码,我会觉得不舒服
      • 解释您的更改的历史记录。看到这个项目是如何发展的,我就能更好地计划。它还让人们看到你如何从错误中吸取教训,并了解你的技能水平。与论坛相比,你可以感觉到事情修复的速度有多快,然后被放到一个新版本中
      • 仔细考虑一下你想要什么样的许可证。公共领域?BSD?GPL?更严格
      • 关于是否介意与您联系以及是否有任何限制的说明。例如,您介意更新吗?让我解释一下安全漏洞?或者你可以使用论坛或维基
      • 我能够获得您的最新作品和/或夜间版本。SVN什么的。这很有用,所以我知道我发现的bug是否已经修复

      文档帮助人们信任您的代码的一个原因是,他们知道给定的功能是您希望代码执行的功能(在其他条件相同的情况下,您将在未来版本的代码中保留),还是当前代码恰好执行的功能,但是,作为一个错误修复的副作用或仅仅是一个重构,它可能会在任何时候发生变化


      有些人喜欢通过查看代码来了解代码的真正功能,这很好,但是文档会告诉您(a)代码应该做什么,如果运气好的话(b)代码的下一个版本将做什么。如果我想长期使用您的代码,并在您提供错误修复更新时进行更新,那么我需要知道您已经设计了一个我可以依赖的界面,并且您愿意坚持。记录它是一个强烈的暗示,表明你至少正在尝试这样做。

      一定要把它放在Github或Google代码上,这样人们才能找到它。