これがほとんどのオープンソースライブラリで発生するかどうかはわかりませんが、私が知っている多くのライブラリ(OpenSSL、Webkitなど)はすべてコメントがないか、コメントがほとんどありません。
非常に少数のドキュメントは言うまでもなく、ソースコードを読むのは困難です。メンバー変数が何を意味するのか、またはこの関数が何をするのかほとんど理解できません。これはコーディング標準の慣行に反しているようです
何故ですか?コメントをほとんど付けずに、これらのオープンソースに人々が協力するにはどうすればよいですか?
ソースコードを書くのは楽しいです。
ドキュメントを書いてコードにコメントするのはあまり面白くない。
開発者が適切なコメントとドキュメントを強制する会社で働いている場合、選択肢はありません。この開発者がそれらを作成するか、解雇されるリスクがあります。
開発者がオープンソースプロジェクトに貢献するとき、彼はそれを無料で、特に楽しみのために行っています。ドキュメントやコメントを書くなど、この開発者に望まないことを強制する人は誰もいません。
これが、多くのオープンソースプロジェクトに広範なドキュメントとコメントが欠けている理由です。
ドキュメントやコメントがなくても、オープンソースプロジェクトに人々はどのように貢献できますか?
ソースコードが高品質であれば、コメントはあまり必要ありません。パブリックインターフェイスのコメントとドキュメントは、プロジェクトのコンシューマ、つまり単純にseライブラリであり、ライブラリに貢献しない開発者にとって特に役立ちます。
関連する生産性要素はありません。私は、実際のコードベースに単体テスト、ドキュメント、コメントがない会社で働いています。 600-LOCメソッドが何をしているのかを理解するために多くの時間を費やしたり、すでに行われていることをコーディングしたりしていますが、ドキュメントがないために見つけることができません。貴重な。
一方、オープンソースプロジェクトの場合、ドキュメントの欠如や適切なコメントのために、貢献者の1人が1週間も無駄になったかどうかは問題ではありません。起こり得る最悪の事態は、この寄稿者がプロジェクトを離れることです。
コメントやドキュメントなしでコードを発見することは、やりがいがあるのではなく、一部のコントリビューターを引き付けるなど、困難な場合もあります。
エンタープライズプロジェクトでは、開発者が製品のすべての側面に取り組むことを余儀なくされ、数年後、システム全体をほぼ知る必要があります。オープンソースプロジェクトでは、誰もがすべてを知ることを強制されません。ドキュメンテーションを必要とせずに、その一部に貢献するだけで、この部分の優れた知識を持つことができます。
コメントをほとんど使わずに、これらのオープンソースに人々が協力する方法
「読みづらいこれらのオープンソースコードに人々がどのように協力できるのか」を意味すると想定した場合、まあ、私は、悪いコードのあるオープンソースプロジェクトは、良いコードの場合よりも貢献者が少ないと思います。ただし、コードの可読性は常に見ている人の目にあることを忘れないでください。ほとんどのオープンソースコードは、一部の関数やクラスの意図を少なくとも少し理解できないほど悪くはありません。
多くの場合、オープンソースプロジェクトに何かを提供したい場合、全体を理解する必要はなく、特定の機能を追加したい部分のみを理解する必要があります。したがって、開発者が不足している機能を必要とする場合、おそらく彼は弾丸を噛み、変更する必要がある部分を特定し、その部分を精神的に「デコード」して、そこに新しい機能を追加します。彼がいい人なら、「デコードされた」部分をレビューしてリファクタリングしようとするでしょうが、実際にはこれはめったに起こらないと思います。
いくつかの理由。