工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> モノのインターネットテクノロジー

適切なオープンソースコードを選択するための5つのヒント

Googleが実施した調査によると、多くの開発者にとって、オンラインでコードを見つけることは1日の大部分を消費します。簡単な関数、ライブラリ、便利なパッケージ、再利用可能なコンポーネント、または便利な「ハウツー」ブログチュートリアルを見つけるのは必ずしも簡単ではありません。見つけたコードを信頼して使用できるかどうかを知ることは、さらに難しい場合があります。

適切なコードを見つけることは、通常、グーグルや他の検索エンジンの神々に目を向け、クエリを投げ込み、指を交差させて素早く勝つことを意味します。 「Javascriptには独自のプロパティがあります」などの単純な機能クエリは、おそらくさまざまなフォーラムやブログ投稿につながりますが、より高いレベルの説明(「Reactcomponent x」)は、多くの場合、GitHubまたはNPMに到達します。

ただし、適切なコードを見つけた後でも、それを信頼して使用することはまったく別の問題です。実際に使用できるコードを理解するために、検討に役立つ5つのパラメーターを収集しました。正しい決定を行うには、これらのパラメーター(とりわけ)と、タスク自体の性質を考慮に入れる必要があります。適切なコードを選択するために検討できる5つのキーは次のとおりです。

#1。コードは読み取り可能ですか?

読み取り可能なコードとは、優れたコメントやドキュメントだけではありません。これは、コード自体が読み取り可能でなければならないことを意味します。読みやすさのさまざまなパラメーターは、識別子の適切な命名規則、適切な間隔、明確で読みやすいロジック、よく理解されているスコープなどです。肝心なのは、コードはあなたに読めるようにする必要があるということです。 。コードの一部を選択すると、それが機能するものであっても、それがどのように機能するかを完全には理解していません。基本的に、コードベースにメンテナンスの時限爆弾を持ち込むことになります。

読み取れないコードのデバッグ、変更、更新、および保守は、強く避ける必要があります。それを回避する最善の方法は、可能な限り、そもそもそれを決して許可しないことです。

#2。コードは積極的に維持されていますか?

選択したコードが「生きている」ことを望んでいます。つまり、バグ、問題、更新が処理されていることを知りたいので、このコードは、それを作成した開発者によって積極的に保守されます。アクティビティインジケーターの良い例は、GitHubの未解決の問題、プルリクエスト、パルスインジケーターです。パッケージマネージャーは、依存関係や依存プロジェクトの数など、メンテナンスに関連する情報を提供しますが、それでも、この分野で信頼できる指標を提示するのに苦労しています。

それでも、大人気のプロジェクトが別のパッケージに依存している場合、問題が修正される可能性が高いと想定できます(ただし、私たちは皆、左パッドを覚えています)。ただし、スタックオーバーフローからコードをコピーする場合(これはそれ自体が問題です)、必要なときに(そして複製した場所で)自分で更新する以外に、このコードが維持されることを信頼できるかどうかを知る方法はありません。

小さなコア機能は、それほど変化しません。この精神では、Bitからインポートされた再利用可能なコンポーネントは、作成者が何かを変更するたびにコンポーネントのバージョンを1ずつインクリメントする単純な増分バージョン管理に依存しています。コンポーネントを「最新の更新」バージョンに維持するということは、適切なテストが行​​われれば、コード内の小さな関数やコンポーネントでも何も壊さずに更新しながら、コードをメンテナが積極的に維持できることを意味します。

#3。コードは十分にテストされていますか?

動作するコードを選択することは、おそらく私たちの最優先事項です。テストは、私が使用するコードが実際に想定どおりに機能するかどうかを知るための優れた方法です。テストの説明には、さまざまなユースケースとエッジケースも示されています。これは、このコードがさまざまな状況でどのように動作するかを知るのに役立ちます。テスト済みのコンポーネントを使用すると、ソフトウェア全体の保守性が向上し、本番環境に移行する前に変更を試みる際の時間と手間を省くことができます。

通常、ウェブ全体からコピーされたスニペットにはテストが付属していません。まれに、フォーラムやブログ投稿からコピーされた関数に単体テストが含まれることはほとんどありません。パッケージとライブラリは非常によくテストされる可能性があります。問題は、それをすばやく理解できることにあります。 GitHubでライブラリを探索する場合、リポジトリ内のさまざまなバッジやファイルが、このコードのテストの程度と量を示している可能性があります。テストに合格したかどうかを判断するには、外部ツールが提供するインジケーターを使用する必要があります。パッケージを探している間、どのパッケージがテストされているか、そしてテストが有効に合格したかどうかを知るための信頼できる方法は実際にはありません。これは、パッケージの発見可能性に関しては大きな問題です。再利用可能

パッケージを探すとき、どのパッケージがテストされているか、そしてテストが有効に合格したかどうかを知るための信頼できる方法は実際にはありません。これは、パッケージの発見可能性に関しては大きな問題です。再利用可能なビットコンポーネントは、そのようなテストが開発者によって追加された場合にテストできます。ビットスコープはテストを実行するため、ビットコミュニティハブからコンポーネントを選択する前に(またはローカルマシンで分散して使用する場合はCLIを介して)、緑色のインジケーターとテストの説明をオンラインで表示できます。

#4。コードは他の人によって使用されていますか?

人気は私たちが進化的に信頼しているものです。世論は私たちの生存を助ける決定を下すのに良いです。みんなが木から特定の果物を食べているのを見ると、おそらくそれが私たちを殺すことはないでしょう。みんなが茂みから走っているのを見ると、空腹のトラがすぐに続くかもしれません。ある程度、2017年のコードの選択についても同じことが言えます。

プログラミングフォーラムでは、正解を示す「V」、賛成および声のユーザーの声の意見の数など、さまざまな表示を使用できます。これらは、コードが正常に機能する可能性を高めるための優れた安心できる機能です。 GitHubに関しては、スター、コラボレーター、その他のソーシャルメトリックを利用して、信頼に値する感覚を得ることができます。パッケージを探すときの良い指標は、このパッケージのダウンロード数です。

ビットコミュニティハブにあるビットコンポーネントは、ダウンロード数、コラボレーター(スコープレベル)、単純な「いいね」などを示します(このReactスコープのコンポーネントに示されています)。いずれにせよ、ソーシャルメトリックは良い指標であることに注意してください。ただし、コードの品質に関する絶対的な真実をボットします。人々はしばしば間違っており、世論は私たちが思っているよりも早く変わる可能性があります。

#5。コードは十分に文書化されていますか?

ドキュメントにより、コードの理解、使用、変更がはるかに簡単になります。これは、コードを記述した開発者が考え、注意を払ったことを示す優れた指標でもあります。 Stack Overflowまたはさまざまなブログ投稿で見つかったコードのドキュメントは、コード自体のコメントと、コードが見つかった実際の回答またはブログの両方で構成できます。フォーラムの回答に、含まれているコードの有用な詳細が含まれている場合、これはコード自体をコピーして貼り付ける場合でも、追加する価値のあるドキュメントになる可能性があります(ここでも、貼り付けコードをコピーしないでください)。

GitHubのリポジトリとパッケージの場合、少し注意が必要です。通常、GitHubまたはNPMに表示されるreadmeファイルとdocsファイルは、ドキュメントの品質に関する一般的な指標を提供します。ビットコンポーネントのドキュメントはコード自体から解析されるため、アトミックコンポーネントの実際の説明が表示されます。また、Reactコンポーネントなどのさまざまな関数や動作の引数や戻り値など、使用例や指定された署名を含めることもできます。いずれにせよ、文書化されたコードを選択することは、可能な限り良い決断です。

GitHubのリポジトリとパッケージの場合、少し注意が必要です。通常、GitHubまたはNPMに表示されるreadmeファイルとdocsファイルは、ドキュメントの品質に関する一般的な指標を提供します。ビットコンポーネントのドキュメントはコード自体から解析されるため、アトミックコンポーネントの実際の説明が表示されます。また、Reactコンポーネントなどのさまざまな関数や動作の引数や戻り値など、使用例や指定された署名を含めることもできます。いずれにせよ、文書化されたコードを選択することは、可能な限り良い決断です。

意思決定

結局のところ、人間の記憶は限られており、毎回車輪の再発明をする意味はあまりありません。ただし、オープンソースコードの一部を見つけて使用する場合、上記のインジケーターは、アプリケーションが安全で、保守可能で、機能し、正常に機能していることを確認するのに役立ちます。

異なるユースケースは、異なるパラメーターに異なる重みを与えることを意味します。パッケージを選択するとき、それがどのようにテストされ、読みやすく、文書化され、積極的に維持されているかを知ることは困難です。オンラインフォーラムからコードをコピーする場合、テストやメンテナンスなどよりも人気を優先する場合があります。ビットコンポーネントは、コンポーネントのインポートと再利用に関連する情報と、説明、例、ダウンロード、依存関係、テストの説明、テスト結果などのアトミック機能を組み合わせたものです。これらのさまざまなパラメータを慎重に検討することで、情報に基づいた決定を下し、仕事に適したコードを見つけて選択するという迷路を越えることができます。


モノのインターネットテクノロジー

  1. 適切なCNC修理サービスを選択するためのips
  2. ソフトウェアのリスク:IoTでのオープンソースの保護
  3. 適切なCNCマシンを選ぶためのヒント
  4. エッジでのオープンソースの必要性(eBook)
  5. 適切な注文管理システムを選択するための5つのヒント
  6. 適切なカスタム製造会社を選ぶための5つのヒント
  7. 適切なサイズのミニ ショベルを選択するためのヒント
  8. 機器のレンタルに適したアタッチメントの選択
  9. 造園に適した機器の選択
  10. 重機に適した保険の選択
  11. 農場に最適なコンパクト機器の選択