4

いくつかのアプリケーションで使用するコード ライブラリをゆっくりと構築しています。一部のコードはイメージと既存のメッセージ形式 (C++ から変換) を処理しているため、安全でないコードが必要です。

一般に、同じライブラリ アセンブリに安全でないコードと安全なコードを必要以上に混在させてはならない理由はありますか?

別の言い方をすれば、純粋に安全なライブラリを維持し、安全でないコードを別のライブラリに収集する必要がありますか?

「安全でない」ライブラリには信頼の問題があることを理解していますが、これらの機能はほとんどのアプリケーションにとって重要なので、それは本当に重要ですか? 私のコードは、安全なものも安全でないものもすべて信頼されているか、信頼されていないためにアプリケーションが実行されません。それとも私は要点を逃していますか?

4

1 に答える 1

4

理論的には、必要なものを安全なコードで開発できますが、安全でないコードを使用する正当な理由があると仮定しましょう :)

安全でないコードを実行するコードの部分では、メモリの割り当て解除などを忘れるリスクがあります...したがって、メモリを適切に管理すれば、問題は発生しないはずです。COM+ dll を使用する C# プロジェクトがある場合、常にそれを行っています。あなたの場合は、すべてのコードを所有しているため、メモリリークを検出できれば修正できるため、より優れています。

安全でないコードをすべて別のライブラリに集めた場合

長所

  • 将来的に新しい安全なライブラリを作成できます
  • 実行ログで dll が失敗していることがわかれば、問題の原因を簡単に切り分けることができます。

短所

  • 安全なコードと安全でないコードを不自然な方法で分割する必要がある場合、コードの可読性が低下します。

正直に言うと、決定はあなた次第です。もし私があなたなら、安全でないコードを別のプロジェクトに分割して、必要になった場合に安全なコードに置き換えることができるようにします。

于 2012-06-20T10:37:10.567 に答える