Language agnostic 你至少需要为一个开源项目工作

Language agnostic 你至少需要为一个开源项目工作,language-agnostic,open-source,Language Agnostic,Open Source,我最近开始从事一些与我的兴趣相关的开源项目 在启动期间,我遇到了一些我不熟悉的术语/东西,如配置、工具链、binutils等。我同意这些术语/东西取决于您正在从事的项目类型 现在我的问题是,在开始开发项目之前,开发人员是否应该知道一些简单的需求 如有任何帮助/参考,将不胜感激 编辑: 在我所看到的大多数项目中,我都见过GNU配置和构建系统。 如果有人为此而烦恼,那么“”是一个很好的起点。如果是预先存在的,您需要阅读他们的开发文档(如果有),学习如何使用他们的版本控制系统,并拥有构建代码和运行代码

我最近开始从事一些与我的兴趣相关的开源项目

在启动期间,我遇到了一些我不熟悉的术语/东西,如配置、工具链、binutils等。我同意这些术语/东西取决于您正在从事的项目类型

现在我的问题是,在开始开发项目之前,开发人员是否应该知道一些简单的需求

如有任何帮助/参考,将不胜感激

编辑:

在我所看到的大多数项目中,我都见过GNU配置和构建系统。
如果有人为此而烦恼,那么“”是一个很好的起点。

如果是预先存在的,您需要阅读他们的开发文档(如果有),学习如何使用他们的版本控制系统,并拥有构建代码和运行代码所需的工具


如果您具备所有这些,以及代码/语言的知识,那么您只需要热情和一些业余时间:)

我认为这完全取决于项目。大多数设置良好的软件项目将指定:

  • 他们用什么语言写的
  • 他们为哪些开发人员环境(如果有的话)而设置
  • 构建/编译/运行项目需要哪些工具
  • 用于测试软件的测试数据

你在做什么?你确定他们没有提供这些信息吗?

我不会将它们定义为你所寻找的简单需求。如果你是一名程序员,你已经具备了(希望如此!)自学和解决问题的能力,这可能会让你一开始成为一名程序员

你永远不会真正了解“一切”,而且无论你走到哪里都可能学到新的东西。见鬼,我得到了目前的工作,甚至从未听说过“模型-视图-控制器”这个词,但很快就学会了这个概念


您的示例toolchain和binutils不是复杂的概念,一篇简单的wiki文章就足够了。

正如您所说,这取决于项目


你必须知道如何使用这种语言,你必须熟悉他们使用的源代码控制系统(通常是subversion)。您必须能够构建(通常是Ant,通常是Maven)。

我建议下载所有源代码,并确保第一步可以自己构建

在尝试进行任何更改之前,请尝试并确保您熟悉总体设计和文档,以确保在第一次更改时不会无意中破坏任何内容


使用的术语可能取决于所使用的技术,例如,用C++编写的、在Linux上运行的开源项目,可能与在Windows上运行的C./.NET应用程序构建有很大的不同。

< P>这取决于您将参与多少。如果你只是想对一个特性做出贡献,那么你只需要获得构建项目的工具,一个修改文件的编辑器,以及足够多的文档阅读来为你的特性找到注入点。如果你能找到人帮助你开始,这将是相当容易的


如果你要致力于这个项目,我建议你学习构建工具、项目历史和目标。此外,当前的作者如何试图解决问题,他们对项目的看法也会有所帮助。

我想说,无论您从事什么项目,都必须能够理解所有的体系结构、工具和技术

然而,您随后尝试将此作为一个适用于任何开源项目的通用问题。你自己回答的,不是吗

我同意这取决于 您正在从事的项目


这取决于你在该项目中的“工作”资格

这里的大多数答案都表明您正在编写代码(您的问题也暗示了这一方向),但是您可以做一些事情来为项目做出贡献——比如测试和文档编制——这些都可以在不知道程序是如何编写的情况下完成

现在,对于它的编码方面——如果它是一个较小的项目,我会尝试找出其他贡献者的动机和项目的宏伟计划/目标。与任何团队一样,进入团队并试图以完全不同于其他团队计划的方向处理事情,即使你有良好的意图,也可能导致各种各样的问题


(还有大家都说的技术建议……源代码管理、构建系统、项目体系结构、使用的工具包等等)

一些开源项目有开发者论坛或邮件列表,您可以加入其中提问。作为一种常见的礼貌,在提问之前,请确保您已经阅读了所有文档,并尝试自己解决问题。即使无法满足代码/语言/构建系统知识要求,也会感谢您提供测试、本地化和文档方面的帮助。您还需要学习他们的编码(格式)风格。如果您只编写过自己的代码,而发现其他代码格式样式很难看,那么这可能是一个艰难的教训。所有架构?请尝试从头到尾理解Apache或PHP或内核。大量的咖啡因。。。不过,我想这适用于所有编程。:)