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