0

McCabe 式を使用する場合

M = EN + 2C

データが一方向のみに流れるように制限されている場合は考慮されますか? それが実際に起こっているかどうかに関係なく、グラフはデータが多方向に流れていることを示しているようです。

一方向のデータフローを持つコードベースと、データが行き来できる別の (非常に類似した) コードベースのコードベースは、それほど複雑ではありません。

Facebook、MVC、および Flux に関するこの記事は、私が求めていることの良い例です: http://www.infoq.com/news/2014/05/facebook-mvc-flux。彼らは当初、MVC を使用してデータをやり取りしていました (ビューからモデルへ、またはその逆)。Flux の MVC を切り替えると、データは一方向に流れました。

4

1 に答える 1

1

あなたがリンクした記事は、ある (誤って適用された) アーキテクチャ パターンを別のものに置き換えることについてのものでした。
「データフロー」の概念は明確に定義されていませんが、問題にはなりません。

McCabe 式は、プログラム フローを調べます。非常に非公式に、意思決定の数の尺度として見ることができます。しかし、これはすべての制御ステートメントを調べることによって測定されるため、測定するものの規模は、提案するアーキテクチャの変更の規模よりもはるかに細かくなります。

「McCabe の式はデータフローを測定しない」としましょう。

アーキテクチャの再設計に必要な変更を広範囲に行うと、当然、式は異なる結果をもたらします。いつものように、プログラムの分岐要因に基づいています。

プログラムを再設計して、コード (具体的には決定) が繰り返される頻度を減らしたとします。そうすれば、複雑さが大幅に低下する可能性があります。これはより良いアーキテクチャであると判断することもできます。

しかし、循環的複雑度は、実際にはアーキテクチャほど大きなものを説明する方法ではありません。これは、コードの小さな塊を見る方法です。メソッド、クラス。アーキテクチャを評価するためにそれを使用することは、まったく意味がありません。

于 2014-05-18T17:05:45.887 に答える