タグ付けされた質問 「risk-assesment」

8
巨大なモノリシックアプリケーションの危険性
私がここ数年取り組んでいる大きなプロジェクトは、ファームウェアの心臓部である高度なデバイスの制御(およびすべて)アプリケーションです。 デバイスは非常に高度であり、メモリから言うことができるよりも多くの異なる機能を備えており、それらの98%はこの1つの巨大な実行可能ファイルによって処理されます。一方では、プログラムは非常に保守性が高く、内部で適切にモジュール化され、適切に文書化されており、ディレクトリやファイルなどによって機能が合理的に分離されています。 しかし、最終的には、リモートデータベース通信、タッチスクリーン処理、多数のさまざまな通信プロトコル、測定、いくつかの制御アルゴリズム、ビデオキャプチャ、イースターの日の出時刻と日付(真剣に、非常に深刻な目的のために必要です!)...一般に、非常に薄く関連しているもの、多くの場合、いくつかの遠いモジュール間で少しずつ流れるいくつかのデータを通してのみ関連するもの。 ソケットを介して、より具体的な目的で、必要に応じてロード/アンロードするなど、互いに通信する複数の個別の実行可能ファイルとして実行できます。この方法で作成された理由は特にありません。 片手で機能し、大丈夫です。プロジェクトは、複数のバイナリのビルドを維持することなく、よりシンプルです。内部構造も簡単です。ソケットや共有メモリを介して通信するのではなく、メソッドを呼び出すか、変数を読み取るだけです。 しかし、一方で、このことの大きさ、規模は私をゾッとさせるだけで、タイタニックを操縦しているように感じます。私は常にモジュール化することを教えられましたが、すべてを1つの巨大なファイルにまとめるのは間違っているように感じます。私が知っている問題の1つは、1つの(わずかな)モジュールがすべてクラッシュするという重大なクラッシュです。それ以外の場合、内部の分離と防御的なプログラミングにより、何らかの理由で内部モジュールの半分が正常に機能しなくなった場合でも、これがほとんど正しく実行されることが保証されます。 他にどんな危険を見落としましたか?なぜこれが私を怖がらせるのですか?これは単なる不合理な未知への恐怖ですか?このように深刻な大きなプロジェクトを作成することは、受け入れられている慣行ですか?不安を和らげるか、バージョン2.0を複数の小さなバイナリにリファクタリングする正当な理由を教えてください。

11
商用ソフトウェア製品でオープンソースコードを使用する知恵
ASP.NET Webアプリ(特にdapper)でオープンソースコードを使用することを検討しています。経営陣はファンではありません。なぜなら、オープンソースは以前私たちに噛み付いたリスクと見なされているからです。どうやら、以前の開発者は、オープンソースのコンポーネントが失敗した後、物事を書き直さなければならなかったようです。 プロのようです: それ以外の点では、ボイラープレートコードの多くまたはマイクロソフトが推奨するが低速なソリューション(Entity Framework)のいずれかが含まれることになります。 短所: 本番環境で突然失敗した場合、それを修正するのが難しいほど複雑です。ただし、私のサイトよりもはるかにトラフィックの多いサイトで使用されているため、最終的にプロジェクトのリスクの高い部分になるとは思わない。 ここでのコンセンサスは何ですか?自分のコードと同じように、私が知らない/理解していないプロジェクトでオープンソースコードを使用するのは賢明ではありませんか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.