経験から言えば...
私が貢献した最初のオープンソースプロジェクトは、私も最初に始めたとき、私はすべて小便と酢でいっぱいでした。
私がすぐにやったのは、たくさんのソースファイルを調べて、自分の好みに合わせてスタイルを整え、大規模なパッチを作成し、それを提出したことです。
「私がそうだったように」「良い」人と作業している場合は、すぐにパッチを拒否します。主に、あなたがオープンソースプロジェクトに貢献するとき、単一の問題に対処する一口サイズのチャンクに修正を分解することが期待されるからです。「すべてのgotosを削除」は、アトミックコミットの良い例ではありません。最初に小さく、よく文書化されたコミットに分割しても、拒否される可能性があります。
その理由は、コードは時間の経過とともに複数の人(スタイルの異なる)によって処理されるため、ある開発者のスタイルに合わせてライブラリ全体の変更を受け入れることは実際には実行不可能だからです。スタイルのためにスタイルを変更することが実現可能であれば、すべてのオープンソースプロジェクトが前進することはありません。コードはさまざまな開発者スタイルに合わせて絶えず編集されるためです。
コードのリファクタリングと機能の追加(または廃止された不要なデータの削除)は、通常、「クリーニング」コードよりも優先されます。
オープンソースプロジェクトでの作業の中で最も難しく、最もやりがいのある部分は、あなたが提出している変更を行うことを提案する理由を尋ねられることです。正当な理由を説明できれば、パッチが提出される可能性が高くなります。
私のアドバイスは、これらの変更のいくつかを1つのソースファイルで実行して、最初にやろうとしていることを味わうことです。変更が十分に正当化され受け入れられている場合は、そのような変更がプロジェクトの品質を改善するかどうかを尋ねます。そうすれば、将来パッチが拒否されても、何もせずに多くの労力を無駄にすることはありません。
オープンソースの開発は、コードを書くだけではありません。ゲートキーパー(プッシュアクセスを制御する開発者)がプロジェクトの整合性を保護するために必要なことを行うため、信頼関係の構築に取り組んでいます。より多くのパッチを提出すると、ゲートキーパーはあなたのスタイルをより良く感じるようになり、変更をそれほど正当化する必要がなくなります。
それには時間がかかるプロセスですが、とてもやりがいがあります。あなたは他の誰かのコードを見て、批判することから多くを学ぶだけでなく、あなた自身のスタイルについて批評されるでしょう。
「他のコーディングスタイルのエラーの不正を修正する」ために多くの時間を無駄にする前に、次のことを自問してください。
あなたが提案している変更は、プロジェクトへの付加価値に基づいているのですか、それともあなた自身の内部のスタイルの宗教に基づいているのですか。
Stack Overflow(および関連するStack Exchangeサイト)には多くの宗教があります。私は多くのことを意味します。人々はスタイルについて無限に考え、話します。まるでそれについて話すほど、「完璧で、理想的で、破壊不可能で、間違いのない」コーディングスタイルに近づきます。それは楽しいからだ。
オープンソースの世界では、スタイルはそれほど重要ではありません。機能はです。
注:このアドバイスはすべて、ゲートキーパーが合理的で才能のあるプログラマーであることを前提としています。もしそうなら、幸運なことに、あなたの唯一の関心事が彼らの「赤ちゃん」を保護している気まぐれなb @&#&esの1つで立ち往生しなかったことを幸運に思ってください。それらは自然界に存在するので、遭遇しても驚かないでください。
goto
必ずしも混乱ではありません。その使用が完全に正当化される多くの場合があります。