5

MSDNによると:

コードブロックは、単一のエントリポイント、単一の出口ポイント、およびすべて順番に実行される一連の命令を含むコードパスです。コードブロックは、新しい条件ステートメントブロック、関数呼び出し、例外スロー、Enter、Leave、Try、Catch、Finallyコンストラクトなどの決定ポイントに到達すると終了します。

これを念頭に置いて、VS2010のコードカバレッジ分析によると、このメソッドに3つのブロックがある理由はまだわかりません。

public Type Foo()
{
     return typeof(string);
}

そして、このメソッドには2つのブロックがあります。

public void FooTwo()
{
     return;
}

コード行はより簡単です。中括弧を含むコードの行数です。しかし、コードブロックとは何ですか?

カルバン

4

1 に答える 1

0

コード ブロックとは、Common Intermediate Language / Microsoft Intermediate Language レベルでの連続したパスを意味します。残念ながら、これは上記の MSDN の記事には記載されていません。

ここでマイクロソフトの達人自身からの良い説明:

http://www.testingmentor.com/imtesty/2009/11/18/basic-blocks-arent-so-basic/

http://blogs.msdn.com/b/scarroll/archive/2005/01/14/353427.aspx?wa=wsignin1.0

一言で言えば、CIL コード ブロックを細心の注意を払ってカウントすることは意味がありません。それらは私たちが書いたコードとは別の面にあり、コンパイルがデバッグかリリースかによっても異なります。

于 2010-10-28T18:09:29.700 に答える