オープンソースから学ぶ方法


8

私はこの問題をよく目にします。オープンソースプロジェクトの特定の価値提案が気に入っています。基本的なチュートリアルを試します。すごい。できます!しかし、さらに複雑な問題に進むと、調査、デバッグ、フラストレーションなどに何時間も費やしています。

オープンソースのモチベーションを維持するための戦略は何ですか?基本的なチュートリアルが成功した後のオープンソースの報酬は何ですか?オープンソースのどのような「成功」を経験しましたか?


1
オープンソースプロジェクトへの貢献やオープンソースソフトウェアの使用について話していますか?質問から私には明確ではありません。
Paddyslacker

オープンソースAPIを使用しているとしましょう
ポーズID

4
ソフトウェア開発へようこそ。これが私たちの人生です。私たちは失敗するように努め、それが理解されるまでもう一度試します。
Chris

回答:


4

githubにあるような小さなオープンソースライブラリを見ていると思います。私の場合、特定の問題を解決するためによく使用しています。それでも問題が解決しない場合は、掘り下げて、コードのしくみを学び、必要に応じて変更を加えます。私の変更が何か役に立つものやバグ修正のためのものである場合、私はオープンソースの所有者に連絡するか、自分のブランチをフォークしようとします。

また、自分のニーズに近いものを採用しているだけの場合もあります。その場合は、自分の変更を保持して先に進みます。時計を追加するか、定期的にチェックインして更新内容を確認します。

ノートのように、これはソフトウェア開発の人生です。それは絶えず変化する環境です。


4

あなたは、与えられたオープンソースAPIプロジェクトを使用する動機をどのように保つのかと尋ねましたか?

トリックは、どのオープンソースプロジェクトが優れているかを理解することです。オープンソースの主な資格は、ソースコードにアクセスできることです。これは、物事がどのように機能するかを調べる必要がある場合に非常に役立ちます(通常、状況によって動作を変更する必要がある場合に発生します)。それ以外のものを意味します。これには、ソースの公開性とはまったく無関係なプロジェクトの品質が含まれます。

コードプロジェクトといえば、品質は多少の微妙な要素で構成されています。

  • APIはどの程度設計されていますか?実際にAPIを呼び出すために作成する必要があるコードは簡単に読み取れますか?
  • APIの実際のコードはどの程度適切に記述されていますか?何が起こっているのか理解しやすいですか?データ構造は適切に選択されており、高価な実行時特性はありませんか?変数名は適切に選択されていますか?コードはコーディング標準に準拠していますか?
  • APIは文書化されていますか?これは実際のコードの設計とjavadocの両方であり、役に立ちますか?これは、コードの成熟度を示しているため、想像以上に重要です。
  • プロジェクトにはWebページがありますか?それは更新され、リンク切れはありませんか?ソースコード、ダウンロード、ドキュメントに簡単にアクセスできますか?
  • プロジェクトにはコミュニティとメーリングリストがありますか?アーカイブは利用可能でアクセス可能ですか?コミュニティは役に立ちましたか?

これらすべてのことは、特定のオープンソースプロジェクトを使用するかどうかを選択するときに覚えておくと役立ちます。これが最善のプロジェクトではないことを示しているので、最善のものから派生した場合は、警告のサインが頭の中で点滅するはずです。

次に、プロジェクトを見つけたとき、あなたはあなたが見ているものが好きです、最終テストがあります:

  • 便利な方法でAPIを呼び出す簡単なプログラムでゼロから立ち上げて実行するのはどれほど難しいですか?

これは

  1. プロジェクトのWebサイトやダウンロードバンドルのドキュメントで見つけやすい場所で説明されています。
  2. 簡単に正しく-ドキュメントは正確でなければならず、プログラムは特定の単純な例から簡単に記述または適合でき、十分に説明され、簡単に理解できる必要があります。
  3. 迅速な権利を取得するために-あなたがする必要がある場合は、任意の説明したように実行するプログラムを取得するには、この時点でのデバッグを、何かが非常に間違っています。

これが予想され、優先順位が付けられたユースケースであることが明らかな場合、これは簡単なはずです。プロジェクトがこの特定のことを気にしていないことが明らかな場合は、使用しないことを強く検討します。ここが上り坂だと何度も何度も上り坂になるので、使わない方がいいでしょう。


ソフトウェア品質の方向性を指摘していただきありがとうございます。
ポーズID
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.