タグ付けされた質問 「code-metrics」

6
負のコードとは何ですか?
ダグラス・マキロイに関するウィキペディアの記事を読んでいて、言及している引用を見つけました 「プログラミングの真のヒーローは、ネガティブなコードを書く人です。」 どういう意味ですか?

11
プロジェクトに存在する技術的負債の量をどのように定量化できますか?
ある種のコードメトリックとして、コードベースの技術的負債に数字を付ける何らかのツールがあるかどうか、誰もが知っていますか?そうでない場合、誰かがアルゴリズムまたはヒューリスティックのセットを知っていますか? これまでのところそれらのいずれも存在しない場合、私はそのようなことから始める方法のアイデアに興味があります。つまり、メソッド、クラス、名前空間、アセンブリなどによって発生した技術的負債をどのように定量化できますか。 私はC#コードベースの分析と評価に最も関心がありますが、特に概念が言語を超越している場合は、他の言語でも気軽に声をかけてください。

2
凝集と結合の指標はありますか?
McCabe Complexityメジャーに類似したメトリックがあります。これは、ルーチンの凝集度と、同じコードベース内の他のコードとの疎結合(または密結合)の度合いを測定するためのものですか。

3
複雑さと到達可能性の間に相関関係はありますか?
最近、uniで循環的複雑度(McCabe)とソフトウェアの到達可能性を研究しています。今日、私の講師は、2つの測定値の間に相関関係はないと述べましたが、これは本当ですか? それほど複雑ではないプログラム(これまで見てきたわずかなものから)が到達可能性の点で「より良い」結果をもたらすように見えるので、間違いなく何らかの相関関係があると思います。 誰もが2つのメトリックを一緒に見ようとする試みを知っていますか?そうでない場合、多数のプログラムの複雑さと到達可能性の両方に関するデータを見つけるのに適した場所は何ですか?

4
コードの安定性を測定するためのソースコードメトリック?
リリースサイクル(実装、テスト、バグ修正、リリース)でソフトウェアがどのように開発されるかを考えると、コードベースで変更されるコードの行に何らかのパターンが見えるはずだと考えていました。たとえば、プロジェクトの終わりに向かって、コードがより安定した場合、単位時間あたりに変更されるコードの行が少なくなることがわかります。 たとえば、プロジェクトの最初の6か月の平均は1日あたり200行のコードでしたが、先月は1日あたり50行のコードであり、先週(製品DVDの直前)出荷された)、コードの行はまったく変更されていません(コードのフリーズ)。これは単なる例であり、特定のチームが採用した開発プロセスに応じてさまざまなパターンが出現する可能性があります。 とにかく、単位時間あたりのコードの修正行数を使用してコードベースの安定性を測定するコードメトリック(それらに関する文献はありますか)はありますか?プロジェクトがどこかで手に入れようとしている場合や、リリースの準備がまだ整っていない場合に、感覚をつかむのに役立ちますか?バージョン管理システムからこの情報を抽出し、統計を生成できるツールはありますか?

3
コードメトリックとバグ密度を相関させる実験
誰かがコードメトリックス(SLOC、Cyclomatic Complexityなど)とオブジェクト指向アプリケーションのバグ密度を相関させる実験を行ったかどうか疑問に思っています。 私は相関関係を証明または反証するだけの実験を探しているのではなく、両方で実験を探しています。私はプロジェクトのバグ密度がいることを信じているよう特効薬を発見するつもりはないよ可能性がある特定のプロジェクトやチームのための1つまたは複数のメトリックに相関と相関がプロジェクト/チームの存続期間中に変更することができます。 私の目標は 興味深い指標をすべて2〜3か月間測定します(ソナーからはすでにかなりの数があります)。 新しいバグの数と相関する1つのメトリックを見つけます。 根本原因分析を行って、これがなぜ起こるのかを確認します(たとえば、特定の設計スキルが不足していますか?)。 いくつかの反復のスキルを向上させ、変化を測定します。 すすぎ、2から繰り返します。 これに関する経験はないが、このテーマに関する論文/ブログを見たことを覚えているなら、それを共有できれば幸いです。 これまでのところ、このテーマに関するいくつかの情報を含む次のリンクを見つけました バグは複雑なコードにありますか?-プレゼンテーションのスライドのみ。 変更点とバグ:開発アクティビティのマイニングと予測 -プレゼンテーションからスライドするだけです。要するに、依存関係が多いほど、バグが発生する可能性が高くなります(これは非常に一般的なルールだと思います)。 失敗は4文字の言葉です -バグとメトリックの相関関係に関するパラディ。

4
コード比率の循環的複雑度/行を計算することは意味がありますか?
一般に、保守性インデックスは多くの要因に依存しています。たとえば、Visual Studioでは、循環的複雑度、継承の深さ、クラス結合、コード行に依存しています。これらの4つの値はできるだけ低くする必要があります。 同時に、コードメトリックツールでも、書籍でも、循環的複雑度(CC)とコード行(LC)のみの比較を見たことはありません。 そのような比率を計算することは意味がありますか?コードについてどのような情報が提供されますか?言い換えると、LCを下げるよりもLCを下げる方が良いでしょうか? 私が気づくのは、小規模なプロジェクトの場合、CC / LCの比率が低い(1/2以下)ことです。つまり、LCは高く、CCは低くなります。大規模なプロジェクトでは、CC / LCはほとんどの場合thanより大きくなります。どうして?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.