2016-10-17 9 views
1

Это первый раз, когда я пытаюсь внести вклад в Mozilla. Я просмотрел несколько статей и документации/ресурсов, чтобы понять, что может быть лучшим первым шагом для начала. Я начал с этой страницы http://whatcanidoformozilla.org1 и решил начать с Java.Начало разработки Mozilla/вклад в Fennec

На начальном измельчении я был доставлен в https://wiki.mozilla.org/Mobile/Get_Involved и в конечном итоге https://wiki.mozilla.org/Mobile/Fennec/Android/Suggested_workflow ресурс предложил, чтобы наилучшим способом начать с него было бы взяться за простую ошибку и предложить патч для нее.

Итак, я пошел к http://www.joshmatthews.net/bugsahoy/?java=1&simple=1 и this specific bug обратил мое внимание. Описание ошибки упомянул об этом:

Есть некоторые методы, которые мы разделяем (или может поделиться) через наших реализаций DB , как добавление PARAM_SHOW_DELETED, PARAM_LIMIT или PARAM_PROFILE.

В настоящее время они распространяются через LocalBrowserDB, TabsAccessor, URLMetadata и т. Д. Было бы неплохо их очистить.

Вопрос 1. Теперь, как мне получить больше контекста о том, что именно это ошибка и что требуется сделать?

На данный момент, как представляется, уже два исправления, которые были представлены из того, что я понял (и, пожалуйста, исправьте, если мое понимание здесь не так). Поэтому, чтобы получить некоторый контекст об ошибке, я пошел вперед и открыл первый исправленный файл here.

Это дало мне некоторое представление о том, где, по крайней мере, именно тот код, который должен быть исправлен. И я нашел его here

Вопрос 2. Есть ли я на правильном пути, как определить код, который необходимо исправить?

Вопрос 3. Даже после достижения файла DBUtils.java я не мог найти никакой документации о том, что в основном делает класс, или где она вписывается в общую картину. Мог бы кто-нибудь, пожалуйста, помогите мне в этом, как мне понять, что должен делать класс или что-то подобное или, по крайней мере, какая-то документация вокруг него?

ответ

2

Вы на правильном пути. В принципе, сайт What Can I Do For Mozilla - это быстрый и простой способ позволить вам открыть для себя проекты, которые могут вас заинтересовать, поэтому это первый шлюз для вкладов кодирования.

Сказали, что вам удалось собрать ошибку, чтобы начать. Однако, как вы видели, ошибка уже обрабатывается кем-то другим (обозначается как Assigned). Лучше всего найти новую «хорошую первую ошибку» для работы. Это может быть сложной задачей, поскольку Bug's Ahoy показывает только некоторые из некачественных первых ошибок.

Вы должны попробовать to get in touch с командой Fennec либо по электронной почте, либо по IRC (последняя для более быстрых ответов).

Теперь, чтобы ответить на ваши вопросы, в более общем виде

Вопрос 1.Теперь, как мне получить больше контекста о том, что именно является ошибкой и что необходимо сделать?

Обычно это должно быть описано в первом комментарии к ошибке Bugzilla. Если это не так, не стесняйтесь оставлять там сообщение и запрашивать больше указаний. Вы также можете отметить репортера или наставника ошибки, используя функциональность needinfo, поскольку они обычно лучше отображаются.

Как вы можете видеть, кто-то попросил дополнительную информацию в comment 1 и были даны некоторые новые указания.

В общем, вы не найдете патч с кодом самой ошибки, но вы можете найти ссылки на файлы и более точные указания о том, что нужно изменить и как. Если нет, опять же, не стесняйтесь пинговать репортера и/или наставника.

Вопрос 2. Я нахожусь на правильном пути, как определить код, который должен быть исправлен ?

Вы на правильном пути. В общем случае, если нет ссылок на файлы или DXR на ошибку, но упоминается какой-то код, вы можете найти его, используя DXR, как и вы.

Вопрос 3. Даже после достижения файла DBUtils.java я не мог найти какой-либо документации о том, что в основном делает класс, или где же она вписывается в общую картину. Может кто-нибудь, пожалуйста, помогите мне с этим, , как узнать, что должен делать класс или т. Д. Или по крайней мере какая-то документация вокруг него?

Что я обычно делают при плавании код Firefox и нужно больше фона на не так хорошо документированы класса, является просмотр журнала изменений для этого файла, нажав на кнопку Log в верхнем правом панели на DXR (при отображении файла). Он покажет вам список ошибок, которые повлияли на файл. Вы можете даже отследить исходный файл, который его реализовал, чтобы получить больше контекста.

С другой стороны, если вам интересна только история одной строки кода внутри файла, то инструмент вины - ваш друг. В нем рассказывается, кто последний раз коснулся строки, набора изменений и соответствующего номера ошибки. Это также доступно, где вы можете найти Log, here.

В случае с DBUtils.java, похоже, класс просто содержит некоторые служебные функции для доступа к базе данных.

Чтобы узнать, как что-то используется в кодовой базе Firefox, вы все равно можете использовать DXR. Для объекта DBUtils используется sample search.

+1

спасибо. Удивительный ответ. Приветствия :) – qre0ct