我知道如何找到开源项目。我知道如何找到它们。我不知道该怎么做是要求一份要做的事情的清单。我上过的每个开发者邮件列表都充满了真正的开发者。我从来没有看到任何新的程序员在场。大多数开源项目似乎对新程序员一点都不友好。
一个不是非常有经验的程序员的人怎么会要求做一些事情,同时看起来不烦人或麻烦。你对新手程序员的帮助有什么看法?
** 有项目的人是否有适合初学者的空间。我知道中级 C/C++/
我知道如何找到开源项目。我知道如何找到它们。我不知道该怎么做是要求一份要做的事情的清单。我上过的每个开发者邮件列表都充满了真正的开发者。我从来没有看到任何新的程序员在场。大多数开源项目似乎对新程序员一点都不友好。
一个不是非常有经验的程序员的人怎么会要求做一些事情,同时看起来不烦人或麻烦。你对新手程序员的帮助有什么看法?
** 有项目的人是否有适合初学者的空间。我知道中级 C/C++/
简短的回答 - 从成为项目的活跃用户开始。这会让事情变得更容易。
长答案 -
问题不在于开源项目不需要帮助——大多数人会很乐意得到他们能得到的所有帮助。问题在于,大多数决定提供帮助的人只待了足够长的时间以从开发团队中抽出一些时间,然后“消失”并且再也不会出现。
过去,我在几个开源项目中非常活跃,我们一直都遇到这种情况。让人们想要提供帮助很容易,但很难让他们真正将所需的精力投入到项目中以使其有用。我个人花了很多很多时间来帮助新的潜在开发人员,但几乎总是眼睁睁地看着他们消失。
如果你能证明你是认真的,那么团队的反应会更快——而且通常不仅仅是出现在聊天室、论坛或邮件列表中。
首先,我会从寻找合适的项目开始。找到开源项目很容易,但更难找到适合您的项目。
这是困难的部分,还是容易的部分,取决于你的观点。我建议从您熟悉的项目开始 - 希望您已经使用过。如果您找到了您感兴趣的软件,请在考虑加入开发团队之前尝试使用当前状态的软件。如果您是该软件的用户,那么随着时间的推移,您更有可能对做出贡献感兴趣。
使用该项目将做两件事 -
一,它会让你熟悉他们是如何考虑这个项目的。这通常会让你更容易理解代码的设计,但最重要的是,帮助你理解当前团队的目标。
其次,通常也更容易得到开发人员的注意。如果您有具体问题要问。我个人总是对一个具体的、有针对性的、聪明的问题非常敏感。这有助于与当前的开发团队建立关系。
一旦您熟悉了团队和项目本身,并对其中的内容有所了解,请尝试修复一两个错误。这是一种简单的方式来表明你可以高效和有用,并且会受到很好的欢迎。
到那时,团队可能会更乐于帮助你找到好的、长期的目标和任务。我有几个人更接近我们的项目,我们都非常乐意帮助他们尝试找出如何融入整个团队并融入团队。
这就是我们的目标——从长远来看,你不想只是一个贡献者,你会想成为团队的一员。那是您开始对项目感到拥有所有权的时候,并且当它真正变得有趣的时候。
这取决于您要进入的项目,但通常查看错误跟踪器会有所帮助(很少有开发人员会拒绝对已报告错误的补丁)。如果您运行 Linux,Gnome Love 是一组“易于修复”的错误,对于初学者来说应该是完美的。我的建议是选择一个更小/更简单的项目,因为代码库更容易定位。
我没有参加过特定项目的培训,但我想你必须向开发团队证明自己。
例如,花点时间熟悉代码库。查看错误报告,看看您是否可以追踪一些错误。
一旦您了解了一些事情,您就可以提交错误修复或某些功能的实现。也许写一些文档来帮助新来的人围绕代码库进行思考。基本上,做任何能证明你知道自己在做什么的事情。