gpt4 book ai didi

open-source - 设置和管理开源项目的最佳实践

转载 作者:行者123 更新时间:2023-12-03 11:22:27 25 4
gpt4 key购买 nike

今年晚些时候,我想发布一个一直在开源的PHP框架。我确实使用了源代码控制(SVN),但它在极其有限的基础上。我是自学成才,我自己发展,没有与大型团队合作的经验。我对可以帮助一个项目成功的想法有一些想法,但是我对某些细节感到困惑。由于尚未发布,因此我想尽一切努力从一开始就建立正确的基础架构。我需要了解什么才能设置和管理成功的项目?

我必须取得成功的一些想法(除了营销之外):

  • 好的文档和教程
  • 自动化的单元测试并构建为
    将更新推送到网站
  • 明确的路线图
  • 错误跟踪与
    源代码控制
  • 保留代码的样式指南
    一致的
  • 社区获得的论坛
    支持,分享想法等。
  • 一个很好的示例应用程序
    框架
  • 一个使社区了解最新信息的博客
  • 保持向后兼容性
    尽可能

  • 我的一些问题:
  • 如何设置和自动化一个
    步骤Submit-test-commit-generate API
    docs-push更新网站流程? 编辑:Ant或Maven是否适合此?如果是这样,您是否知道使用这些资源来建立PHP项目的任何资源?
  • 我该如何处理(技术上)
    其他用户提交的内容?怎么能
    我确保这些提交必须
    整合之前先获得批准?
  • 有哪些陷阱?
    可以避免
    项目社区?我宁愿有
    它像
    没有太多戏剧性的可能。

  • 我很乐意从您的经验中吸取教训。如果您认为我缺少任何重要的东西,也请分享。您可以向我推荐的任何资源(最好是面向初学者)也将不胜感激。

    最佳答案

    我刚刚开始从事社区项目,但是我会为您提供一些有关我所知道的建议。

    How do I setup and automate a one step submit-test-commit-generate API docs-push update to website process?



    我从未将它作为一个过程来实现。您可能只有一个 list ,甚至可能创建一些脚本来执行某些任务。我从来没有使用过任何自动化上载的源代码控制,而这些源代码控制是通过脚本来完成的。大多数时候,都会涉及一些Web交互。

    在正式发布之前,您不希望推送API更改。

    编辑:工作环境

    对于PHP,大多数时候,我要么直接在服务器上进行编辑,然后使用beta.example.com或类似工具在服务器上进行测试,然后再推送至example.com。您还可以在家用PC上设置Web环境(使用Windows的XAMPP或Linux上的标准LAMP安装)。您可能只是在这里使用存储库的镜像,所以您可以使用 svn commit,也可以选择适合您所选择的VCS或DVCS的任何一种。

    有趣的部分是使用不同的PHP版本对此进行测试。我自己还没有完成此操作,但是您可以使用.htaccess文件运行其他PHP二进制文件进行测试。我不确定这的最佳选择是什么。

    我没有对API进行太多处理,因为我从未创建过库,但只是进行了快速搜索,发现 http://www.phpdoc.org/。它看起来像一个成熟的项目,所以这可能是一个起点。

    就创建发行版而言,我通常会创建一个脚本,该脚本仅包含分发中的文件(它将过滤掉所有VCS文件以及分发文件中不需要的任何内容)。您可以在linux上围绕 find编写脚本(这是我大部分时间所做的事情),或者可能还有其他更好的选择。

    How do I handle (technically) submissions from other users? How can I ensure that those submissions must be approved before being integrated?



    这主要由错误跟踪器处理,并且在版本控制系统中访问受限。通常,您和您允许的人都可以加入VCS。其他用户可以提交补丁,但是随后您可能会要求某人查看补丁,测试补丁并提交。您可以将这些任务分成一个团队,也可以将补丁分配给一个人,然后由他们来完成。

    What are some of the pitfalls that can be avoided in terms of the project community? I'd prefer to have it be as friendly and helpful as possible without a lot of drama.



    我只是要确保与项目成员和社区保持积极联系。将会出现一些分歧,这将驱使一些人离开,但是,只要您拥有一款能够满足大多数人需求的稳定产品,我想这就是任何人都能期待的。

    关于open-source - 设置和管理开源项目的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2567766/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com