Aus Erfahrung sprechen ...
Das erste Open Source-Projekt, an dem ich mitgewirkt habe. Als ich anfing, war alles voller Pisse und Essig.
Ich habe sofort eine Reihe von Quelldateien durchgesehen und angefangen, die Dinge nach meinen persönlichen Vorlieben zu gestalten, einen massiven Patch zu erstellen und ihn einzureichen.
Wenn Sie mit jemandem zusammenarbeiten, der "gut" ist (wie ich), wird er den Patch sofort ablehnen. Meistens, weil Sie, wenn Sie zu einem Open-Source-Projekt beitragen, Ihre Fixes in Stichproben zerlegen müssen, die ein einzelnes Problem beheben. 'Alle gotos entfernt' ist kein gutes Beispiel für ein atomares Commit. Selbst wenn Sie es zuerst in kleinere, gut dokumentierte Commits aufteilen, wird es möglicherweise dennoch abgelehnt.
Der Grund dafür ist, dass der Code im Laufe der Zeit von mehreren Personen (mit unterschiedlichen Stilen) bearbeitet wird und es nicht wirklich machbar ist, Änderungen in der gesamten Bibliothek zu akzeptieren, die dem Stil eines Entwicklers entsprechen. Wenn es möglich wäre, den Stil um des Stils willen zu ändern, würde sich jedes Open-Source-Projekt niemals vorwärts bewegen, da der Code ständig bearbeitet würde, um ihn an verschiedene Entwicklerstile anzupassen.
Das Refactoring von Code und das Hinzufügen von Funktionen (oder das Entfernen veralteter Cruft) haben normalerweise Vorrang vor dem Bereinigungscode.
Der schwierigste und lohnendste Teil der Arbeit an einem Open Source-Projekt ist, dass Sie gefragt werden, warum Sie beabsichtigen, die von Ihnen eingereichten Änderungen vorzunehmen. Wenn Sie einen guten Grund angeben können, besteht eine bessere Chance, dass Ihr Patch gesendet wird.
Mein Rat ist, einige dieser Änderungen in einer Quelldatei vorzunehmen, um einen Eindruck davon zu bekommen, was Sie zuerst versuchen. Wenn die Änderungen gut begründet und akzeptiert sind, fragen Sie, ob weitere Änderungen die Qualität des Projekts verbessern würden. Auf diese Weise werden Sie nicht viel Mühe für nichts verschwenden, wenn Ihre Patches in Zukunft abgelehnt werden.
Open Source zu entwickeln ist mehr als nur Code zu schreiben. Sie arbeiten eine Vertrauensbeziehung zu bauen , weil die Torwächter (Devs , die Steuer Push - Zugriff) wird tun , was sie die Integrität des Projekts zu schützen. Wenn Sie mehr Patches einreichen, bekommt der Gatekeeper ein besseres Gefühl für Ihren Stil und Sie müssen Ihre Änderungen nicht so stark begründen.
Es ist ein Prozess, der Zeit braucht, aber sehr lohnend ist. Sie werden nicht nur viel lernen, wenn Sie in der Lage sind, den Code anderer zu betrachten und zu kritisieren, sondern auch, wenn Sie Ihren eigenen Stil kritisieren.
Bevor Sie viel Zeit damit verschwenden, "die Ungerechtigkeit der Fehler des anderen Codierungsstils zu korrigieren", fragen Sie sich Folgendes:
Basieren die Änderungen, die Sie vorschlagen, auf dem Mehrwert für das Projekt oder auf Ihrer eigenen internen Stilreligion?
Auf Stack Overflow (und verwandten Stack Exchange-Sites) gibt es eine Menge Religion. Ich meine viel . Die Leute denken und reden endlos über Stil. Je mehr Sie darüber sprechen, desto näher rückt man dem „perfekten, idealen, unzerstörbaren, unfehlbaren“ Codierungsstil. Meistens rede ich auch viel darüber, weil es Spaß macht.
In der Open Source-Welt ist Stil nicht so wichtig. Funktion ist .
Hinweis: Bei all diesen Ratschlägen wird davon ausgegangen, dass Ihr Gatekeeper ein vernünftiger und talentierter Programmierer ist. Wenn dies der Fall ist, können Sie sich glücklich schätzen, dass Sie nicht an einem der weinerlichen B & # & es hängen geblieben sind, deren einziges Anliegen es ist, ihr "Baby" zu beschützen. Sie haben existieren in der Natur aus, also nicht überrascht sein , wenn Sie eine Begegnung.
goto
ist nicht unbedingt ein Chaos. Es gibt viele Fälle, in denen seine Verwendung vollkommen gerechtfertigt ist.