Wir verwenden einige Open Source-Bibliotheken in unseren Projekten. Manchmal gibt es einige Probleme in einigen von ihnen (höchstwahrscheinlich Bibliotheksfehler, aber es kann auch eine falsche Verwendung von unserer Seite sein, insbesondere wenn die Dokumentation manchmal nicht genau 100% vollständig ist). Da die Bibliotheken oft recht komplex sind, ist es manchmal ziemlich schwierig, sie zu debuggen, um die Ursache des Problems zu ermitteln. Können Sie mir helfen, zusammenzufassen, welche anderen Optionen es gibt und wie ich genau damit umgehen soll?
Ich habe kürzlich einige seltsame Probleme bei der Verwendung von TCMalloc (Google Scalable Memory Allocator) unter Windows festgestellt. Daher würde ich Antworten, die für diese bestimmte Bibliothek gelten, sehr begrüßen, aber auch allgemeinere Antworten sind gut.
1) Bitten Sie den Betreuer / Eigentümer des Projekts um Unterstützung. Wie kann das gemacht werden?
2) Stellen Sie jemanden ein, der das Problem identifiziert und behebt. Wie macht man das? Wie kann ich jemanden mit genügend Fachwissen in einer bestimmten Bibliothek finden?
... noch andere Möglichkeiten?
Antworten:
Normalerweise versuche ich Folgendes in der richtigen Reihenfolge:
1) Überprüfen Sie die Mailingliste oder die Foren, um festzustellen, ob mein Fehler neu ist, sich bereits im Tracker befindet oder in einer neueren Version / SVN / was auch immer behoben ist
2) Wenn der Fehler nicht bekannt ist, fragen Sie in der Mailingliste danach. Dies ist, wenn Sie erfahren, dass es sich um eine Funktion handelt, nicht um einen Fehler und / oder RTFM;)
3) Wenn der Fehler tatsächlich ein Fehler ist und neu ist, können Sie entweder warten, bis jemand ihn behebt (Sie können helfen, indem Sie zusätzliche Informationen bereitstellen, testen oder debuggen) oder ihn selbst beheben und einen Patch einreichen
Wenn der Fehler dringend behoben werden muss, führen Sie die Schritte 2 und 3 am besten zusammen aus (melden Sie den Fehler und schlagen Sie einen Patch vor). Andernfalls kann Ihr Fehler möglicherweise rechtzeitig behoben werden oder nicht, je nachdem, ob es sich für eine andere Person lohnt, ihn zu beheben. Ich denke, Sie können die Entwickler oder andere Community-Mitglieder "bestechen", um an Ihrem Fehler zu arbeiten, obwohl ich diesen nie ausprobiert habe.
quelle
Das Tolle an OSS ist, dass Sie den Quellcode haben!
Sie können das Problem also selbst beheben oder jemanden damit beauftragen.
Das Wichtigste ist, der Community etwas zurückzugeben und Ihren Fix einzuchecken!
quelle
Der sinnvollste Weg, den ich gefunden habe, wenn Sie ein Problem mit einer Bibliothek haben und nicht über die Fähigkeiten verfügen, das Problem selbst zu finden, besteht darin, sich an die Betreuer zu wenden. Sie kennen den Code und sind dankbar, wenn sie sich über Fehler informieren, wenn dies der Fall ist, oder zeigen Ihnen, wie Sie die Bibliothek richtig verwenden können.
Zum Beispiel hatte ich ein Problem, das ich nicht lösen konnte, als ich eine Site entwickelte, die SVG Web verwendete . Ich habe keine Fähigkeiten zum Erstellen von Aktionsskripten, daher habe ich einen Thread gestartet, in dem nach dem Problem gefragt wurde, und mir wurde gesagt, dass ich einen Fehler mit einem minimalen Testfall protokollieren soll. Es stellte sich heraus, dass das Problem im Browser lag, sodass ich meinen Code leicht tweeken musste.
Wenn Sie klug genug sind, das Problem selbst zu beheben, vergessen Sie nicht, das Gelernte zurückzugeben.
quelle
Wenn Sie eine gute Idee haben, wie der Fehler reproduziert werden kann, ist das Schreiben eines Komponententests, der den Fehler aufdeckt, ein guter Ausgangspunkt. (Open Source-Projekte verfügen häufig bereits über große Testsuiten.)
Der fehlgeschlagene Komponententest ist eine gute Möglichkeit, dem Projektbetreuer den "Fehler" mitzuteilen. Wenn es sich nicht um einen Fehler handelt, sondern nur um Sie, die ihn falsch verwenden, weist der Betreuer darauf hin, dass dies beabsichtigt ist und meistens einen Grund dafür hat.
quelle
Schreiben Sie einen sauberen Testfall und senden Sie ihn an die Mailingliste.
IME finden Sie beim Schreiben des Testfalls häufig einen Fehler in Ihrem eigenen Code.
quelle
Lesen Sie " How To Ask Questions The Smart Way ", nur weil es noch nicht erwähnt wurde . Es gibt viele wertvolle Ratschläge, wie man Fragen stellt und eine Entwicklungsgemeinschaft um Hilfe bittet. Vieles läuft darauf hinaus, die Funktionsweise der Community zu verstehen und sicherzustellen, dass Sie die Regeln einhalten. Wenn Sie respektvoll sind und eine intelligente Frage stellen, indem Sie alle erforderlichen Details (und das Reproduktionsrezept, falls es sich um einen möglichen Fehler handelt) angeben, erhalten Sie wahrscheinlich eine angemessene Antwort.
quelle