2016-10-17 5 views
1

Dies ist das erste Mal, dass ich versuche, zu Mozilla beizutragen. Ich habe mehrere Artikel und Dokumentationen/Ressourcen durchgelesen, um herauszufinden, was die besten ersten Schritte für den Anfang sein könnten. Ich begann von dieser Seite 1 und entschied mich, mit Java anzufangen.Beginn mit Mozilla Entwicklung/Beitrag zu Fennec

Beim anfänglichen Bastelei war ich zu https://wiki.mozilla.org/Mobile/Get_Involved genommen und schließlich https://wiki.mozilla.org/Mobile/Fennec/Android/Suggested_workflow Ressource vorgeschlagen, dass der beste Weg, um loszulegen mit ihm einige einfache Fehler wäre zu holen und einen Patch für sie vorschlagen.

Also dann ging ich zu http://www.joshmatthews.net/bugsahoy/?java=1&simple=1 und this specific bug zog meine Aufmerksamkeit. Die Beschreibung des Fehlers erwähnt dies:

Es gibt einige Methoden, die wir (oder teilen können) über unsere DB Implementierungen, wie Anfügen PARAM_SHOW_DELETED, PARAM_LIMIT oder PARAM_PROFILE teilen.

Diese sind derzeit auf LocalBrowserDB, TabsAccessor, URLMetadata und so weiter verteilt. Es wäre schön, diese aufzuräumen.

Frage 1. Nun, wie kann ich etwas mehr Kontext auf, was genau der Fehler ist und was erforderlich ist zu tun?

Von jetzt an scheint es 2 Patches bereits eingereicht von dem, was ich verstanden habe (und bitte korrigieren, wenn mein Verständnis hier falsch ist). Um etwas über den Fehler zu erfahren, habe ich den ersten Patch here veröffentlicht.

Es gab mir eine Idee, wo genau ist der Code selbst, der repariert werden muss. Und ich fand es here

Frage 2. Bin ich auf dem richtigen Weg, um herauszufinden, den Code, der behoben werden muss?

Frage 3. Auch nach der DBUtils.java Datei erreichen konnte ich finde keine Dokumentation über das, was im Grunde funktioniert die Klasse, oder wo es in das Gesamtbild paßt. Könnte mir bitte jemand dabei helfen, wie finde ich heraus, was eine Klasse machen soll etc. oder zumindest eine Dokumentation dazu?

Antwort

2

Sie sind auf dem richtigen Weg. Grundsätzlich ist die What Can I Do For Mozilla Website eine schnelle und einfache Möglichkeit, um Projekte zu entdecken, an denen Sie interessiert sein könnten, also ist es das erste Gateway zu den Codierungsbeiträgen.

Das sagte, Sie haben einen Fehler gemacht, um zu beginnen. Als Sie jedoch sahen, dass der Fehler bereits von jemand anderem bearbeitet wurde (markiert als Zugewiesen). Am besten ist es, einen neuen "guten ersten Fehler" zu finden, an dem man arbeiten kann. Dies könnte eine komplizierte Aufgabe sein, da Bugs Ahoi nur ein paar nicht gut gemachte erste Bugs zeigt.

Sie sollten versuchen, mit dem Fennec-Team, entweder per E-Mail oder IRC (letztere für schnellere Antworten).

, jetzt Ihre Fragen, in einer allgemeineren Weise

Frage 1 zu beantworten.Nun, wie bekomme ich mehr Kontext, was genau ist der Bug und was zu tun ist?

Normalerweise sollte dies im ersten Kommentar im Bug auf Bugzilla beschrieben werden. Wenn das nicht der Fall ist, können Sie eine Nachricht hinterlassen und nach weiteren Anweisungen fragen. Sie können den Reporter oder den Mentor des Fehlers auch mit der needinfoFunktionalität kennzeichnen, da diese normalerweise besser angezeigt werden.

Wie Sie sehen können, fragte jemand nach mehr Informationen in comment 1 und einige neue Richtungen wurden gegeben.

Im Allgemeinen finden Sie keinen Patch mit Code auf dem Fehler selbst, aber Sie finden möglicherweise Links zu Dateien und genauere Anweisungen darüber, was geändert werden soll und wie. Wenn nicht, können Sie den Reporter und/oder Mentor erneut anpingen.

Frage 2. Bin ich auf dem richtigen Weg, wie man den Code herausfinden kann, der repariert werden muss?

Sie sind auf dem richtigen Weg. Im Allgemeinen, wenn es keine Links zu Dateien oder DXR auf dem Fehler gibt, aber einige Code erwähnt wird, können Sie es mit DXR suchen, wie Sie getan haben.

Frage 3. Auch nach der DBUtils.java Datei erreichen konnte ich nicht finden keine Dokumentation über das, was die Klasse im Grunde tut, oder wo tut es in das Gesamtbild passen. Könnte mir bitte jemand dabei helfen, , wie finde ich heraus, was eine Klasse machen soll etc. oder zumindest etwas Dokumentation drumherum?

Was ich in der Regel tun, wenn Sie den Code Firefox navigieren und auf einer nicht so gut dokumentiert Klasse etwas mehr Hintergrund benötigen, ist das Änderungsprotokoll für diese Datei finden, auf der Log Schaltfläche in dem rechten oberen Feld klicken auf DXR (beim Anzeigen der Datei). Es zeigt Ihnen eine Liste von Fehlern, die die Datei beeinflusst haben. Sie können sogar die ursprüngliche Datei, die sie implementiert hat, zurückverfolgen, um mehr Kontext zu erhalten.

Auf der anderen Seite, wenn Sie nur an der Geschichte einer einzigen Zeile Code in einer Datei interessiert sind, dann ist das Schuld Werkzeug Ihr Freund. Es sagt Ihnen, wer zuletzt die Linie, das Changeset und die zugehörige Fehlernummer berührt hat. Das ist auch zugänglich von wo Sie das Log finden, here.

Im Fall von DBUtils.java sieht es jedoch so aus, als ob die Klasse nur einige Dienstprogrammfunktionen für den Datenbankzugriff enthält.

Um zu sehen, wie etwas innerhalb der Firefox Codebasis verwendet wird, können Sie immer noch DXR verwenden. Hier ist ein sample search für das DBUtils-Objekt.

+1

danke. Erstaunliche Antwort. Prost :) – qre0ct

Verwandte Themen