从 Mozilla development/contribution 开始到 Fennec

Starting off with Mozilla development/contribution to Fennec

这是我第一次尝试为 Mozilla 做贡献。我浏览了几篇文章并 documentation/resources 了解什么是最好的入门步骤。我从这个页面 http://whatcanidoformozilla.org1 开始,然后选择从 Java 开始。

在最初的修补中,我被带到 https://wiki.mozilla.org/Mobile/Get_Involved and eventually https://wiki.mozilla.org/Mobile/Fennec/Android/Suggested_workflow 资源建议开始使用它的最佳方法是找出一些简单的错误并为其提出补丁。

然后我去http://www.joshmatthews.net/bugsahoy/?java=1&simple=1 and this specific bug引起了我的注意。该错误的描述提到了这一点:

There are some methods that we share (or can share) across our DB implementations, like appending PARAM_SHOW_DELETED, PARAM_LIMIT, or PARAM_PROFILE.

These are currently spread across LocalBrowserDB, TabsAccessor, URLMetadata, and so on. It'd be nice to clean these up.

问题 1.现在我如何获得更多关于错误到底是什么以及需要做什么的上下文?

根据我的理解,目前似乎已经提交了2个补丁(如果我的理解有误,请更正)。因此,为了获得有关该错误的一些背景信息,我继续并打开了提交的第一个补丁 here

它至少让我知道代码本身到底在哪里需要修复。我找到了 here

问题 2。关于如何找出需要修复的代码,我是否走在正确的轨道上?

问题 3. 即使在到达 DBUtils.java 文件后,我也找不到任何关于 class 基本上可以,或者它适合整个画面的什么地方。有人可以帮我解决这个问题吗,关于我如何弄清楚 class 应该做什么等等,或者至少有一些关于它的文档?

你走在正确的道路上。基本上,What Can I Do For Mozilla 网站是让您发现您可能感兴趣的项目的快捷方式,因此它是编码贡献的第一个门户。

就是说,您在选择错误作为开始方面做得很好。但是,如您所见,该错误已由其他人处理(标记为已分配)。最好的办法是找到一些新的 "good first bug" 来继续工作。这可能是一项复杂的任务,因为 Bug 的 Ahoy 只显示了一些不属于好的第一个错误。

您应该尝试 to get in touch 与 Fennec 团队联系,通过电子邮件或 IRC(后者可以更快地回复)。

现在,以更笼统的方式回答您的问题

Question 1. Now how do I get some more context on what exactly is the bug and what is required to be done ?

通常,这应该在 Bugzilla 上的错误的第一条评论中描述。如果不是这种情况,请随时在此处留言并询问更多指示。您还可以使用 needinfo 功能标记错误的报告者或指导者,因为通常可以更好地显示它们。

如您所见,有人在 comment 1 中询问了更多信息,并给出了一些新的指示。

一般来说,您不会找到包含错误本身代码的补丁,但您可能会找到文件链接以及关于更改内容和更改方式的更准确说明。如果没有,请再次联系记者 and/or 导师。

Question 2. Am I on the right track on how to figure out the code that needs to be fixed ?

你走在正确的道路上。一般来说,如果没有文件链接或 Bug 的 DXR,但提到了一些代码,您可以像以前一样使用 DXR 进行查找。

Question 3. Even after reaching the DBUtils.java file I could not find any documentation about what the class basically does, or where does it fit into the whole picture. Could someone please help me with this, as to how do I figure out what a class is supposed to be doing etc. or at least some documentation around it?

在浏览 Firefox 代码时通常做的是浏览该文件的更改日志,并且需要更多关于文档记录不那么完善的背景知识,单击 DXR 右上角面板中的 Log 按钮(显示文件时)。它将向您显示影响该文件的错误列表。您甚至可以追溯实现它的原始文件,以获得更多上下文。

另一方面,如果您只对文件中单行代码的历史感兴趣,那么 blame 工具就是您的朋友。它告诉您谁最后接触了这条线、变更集和相关的错误号。也可以从找到日志的地方访问,here.

然而,在 DBUtils.java 的情况下,看起来 class 只是包含一些用于数据库访问的实用函数。

要查看某些内容在 Firefox 代码库中的使用情况,您仍然可以使用 DXR。这是 DBUtils 对象的 sample search