新贡献者指南#
本指南是为新贡献者提供的 Apache Arrow 贡献资源。
无论您目前的技能水平如何,都可以尝试第一次为 Arrow 贡献代码。
开始为一个像 Apache Arrow 这样的项目做贡献可能会令人望而生畏。循序渐进将使这项任务变得更容易。
为什么要为 Arrow 做贡献?#
您可能出于各种原因想为 Arrow 做贡献
您觉得这个项目很有趣,想尝试做贡献以了解更多关于该库的知识并提升您的技能。
您正在进行的项目中使用了 Arrow,并且您想实现一个新功能或修复您遇到的一个 bug。
在架构概述部分阅读更多关于本项目的信息。
注意
Apache Arrow 的贡献者们遵循 ASF 的行为准则。
快速参考#
以下是设置和为 Arrow 做贡献所需的基本步骤。这既是一个清单,也提供了整个过程的概览。
有关完整说明,请遵循提交第一个 PR 的步骤(分步指南),或参考 R 和 Python 教程,了解添加基本功能的示例。
安装和设置 Git,并 fork Arrow 仓库
查看关于如何设置 Git 和 fork Arrow 仓库的详细说明。
构建 Arrow
Arrow 库包含广泛的功能,可能需要安装第三方软件包,具体取决于您启用的构建选项和组件。C++ 构建指南提供了常见问题的建议 - 您可以在此处找到它。任何时候遇到困难,请随时通过适当的交流渠道联系我们。
查看关于PyArrow 或 R 包构建过程的简短说明,或直接在文档中查看关于如何构建 Arrow 库之一的详细说明。
运行测试
我们应该运行测试来检查一切是否正常工作。例如,您可以在终端中为 Python 运行测试
$ pytest pyarrow
或在 R 控制台中为 R 运行测试
devtools::test()
另请参阅关于测试 🧪的章节。
寻找一个问题(如果需要),创建一个新分支并着手解决问题
寻找问题
您可能已经想到了要修复的 bug,或者要实现的新功能。但如果您没有想法,并且需要一个问题来着手,那么您可能需要帮助来寻找它。阅读寻找适合新手解决的问题 🔎章节以获取一些想法。
熟悉项目
开始一个新项目时,第一步是最困难的,因此我们编写了一些指南来帮助您。
您可以从阅读在 Arrow 代码库上工作 🧐章节开始。
交流
沟通非常重要。您在过程中遇到的问题可能需要一些帮助来解决(开发者经常会遇到这种情况)。此外,如果您想解决某个 GitHub issue,建议告知团队您正在处理,并且可能需要一些帮助。
查看可能的交流渠道。
实现计划的修复或功能后,编写并运行相应的测试
将分支推送到您的 fork,并创建 Pull Request
查看关于创建 Pull Request的详细说明
如果您已准备好,可以开始构建 Arrow,或者选择按照某个教程来编写一个 R 绑定或 Python 功能。
不同的贡献方式#
除了编写代码,还有很多其他方式可以为项目做贡献!
改进文档是开始贡献的好方法!更多信息请访问本指南的协助文档工作章节。
Apache Arrow Cookbooks 是一系列关于如何使用 Apache Arrow 解决各种问题和完成不同任务的“食谱”(代码示例)。它们也是开始贡献的好方法。更多信息请访问位于 Apache Arrow Cookbook 仓库中的如何为 Apache Arrow Cookbook 做贡献。
也欢迎您查看补充信息和资源章节。
我们鼓励所有人为 Arrow 做贡献!