2016-09-12 26 views
-4

私たちは、Cコードの品質メトリクスを計算するソフトウェア品質分析ツールを使用します。ネスティング、複雑さ、静的パスなどのレベルを計算します。計算されるメトリックの1つは、関数内の「結び目」の数です。この指標はどういう意味ですか?結び目が少ない方が望ましいですか?結び目はソフトウェアメトリックとはどういう意味ですか?

+3

ツールに関するドキュメントは何を表していますか?またはベンダーですか?あなたはツールでサポートを受けていませんでしたか? – Olaf

+0

Cプログラミングでこの用語を聞いたことがありません。私は航空機の速度がノットで測定できることを知っています。それはすべてです... – ForceBru

+0

https://en.wikipedia.org/wiki/Knot_theory –

答えて

1

ノットは、ソフトウェアメトリクスの世界でかなりの時間(1979年、Woodward、Hennell、Hedley)でした。 ノットのコンセプトは、基本的にループ、決定点、ジャンプなどのソフトウェアのフローチャートで描かなければならない結び目(またはパターン/分岐...)の数に分解できます。

コードは、同じものを実行する他のコードよりも結び目が少ない場合には、より簡単である(したがって速くなる)と考えられます。したがって、ソフトウェアのノットの量を減らすことを目指しますが、機能は同じに保ちます。

+0

私はグラフ理論からより多くのexpextの言葉を出したいと思う:エッジとno ** des **。 – Olaf

+0

@Olaf、私は "結び目"が昔のスパゲッティコードをよりよく表していると感じています。スパゲッティを防止してスパゲッティの "結び目"を防ぐべきです。 –

+1

@PaulOgilvie:あなたはスパゲッティをどのように調理しているのか分かりませんが、もしそうでなければならないように調理されていれば、彼らは本当に "ノット"ではありません(いいえ、私はイタリア語ではありません、しかし良いパスタのように;-)。真剣に:私はそれを理解する。グラフはスパゲッティの一般化された形です。しかし、コードメトリックツールの経験はあまりありません。私にとって、彼らは測定不能な(それは賃金に値するプログラマーです)を測定するマネージャーの動物園の一部です。プロジェクトタイムラインのクリスタルボールに近く、来年の天気はどうですか? – Olaf

0

ノットは、構造化されていないFortranタイプのコードには、実際にはあまり現代的な言語には当てはまりません。それらは、制御フローがどの程度複雑であるかの尺度を与える。私たちが見たいくつかのプログラムは純粋なスパゲティでした!

「コードはより簡単であると考えられます(したがって高速です)」というフレーズは間違っています。ノットの少ないコードは、より単純で維持しやすいと考えられます。スピードとは関係ありません。

David Hedley(最初に数えた人)から

関連する問題