問題タブ [metrics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 8歳のビッグオー?
これが私のコードにとって何を意味するかについてもっと尋ねています。私は概念を数学的に理解していますが、それらが概念的に何を意味するのかを理解するのに苦労しています. たとえば、データ構造に対して O(1) 操作を実行する場合、項目が増えるため、実行する操作の数が増えないことは理解しています。また、O(n) 操作は、各要素に対して一連の操作を実行することを意味します。誰かここの空欄を埋めてくれませんか?
- O(n ^ 2)操作は正確に何をしますか?
- そして、操作が O(n log(n)) である場合、それはどういう意味ですか?
- そして、誰かが O(x!) を書くためにクラックを吸わなければならないのですか?
c# - .NET から C# と C++ の SLOC と複雑さを判断する
C# および C++ コンポーネントのソース コードの複雑さと基本的な SLOC (コメントを含む) の記録を保持するために、私は自分のプロジェクトで SourceMonitor を数年間使用しています。これらは顧客への外部報告に使用されるため、私はそれらのメリットまたは欠如について議論する立場にはありません.
私は、いつでもプロジェクトのスナップショット ビューを表示できるリポジトリ分析ツールに取り組んでいます。私が追加したい次の段階は、指定されたファイルとリビジョンのメトリックのキャッシュです。
SourceMonitor をスクリプト化して、テスト対象のファイルを提供し、結果ファイルの CSV または XML からメトリックを取得できることを知っています。
.NET に同じことを行うために使用できるネイティブ ライブラリはありますか?たとえば、外部プロセスの生成と結果の解析を回避します。
本当に必要なのは次の指標だけです。
- SLOC
- コメント行数
- 最も複雑なメソッドの複雑さ
- 最も複雑なメソッドの名前
これをC#コードと通常のC++コードで実行する必要があります。
編集: 必要な GUI とレポートを提供するツールを既に持っているため、手動の手順なしで、ライブラリ/API を使用してメトリックをスクリプト化または生成する必要があります。理想的には、ユーティリティがバージョン管理から自動的にドラッグする、指定されたファイル/リビジョン (プロジェクト全体ではなく) のメトリックを取得したいと考えています。
注:私はこれのために報奨金を作成し、それが期限切れになったときに休暇中でした...ソースコードではなくアセンブリ自体を見ていないため、NDependsの回答は私を満足させません!!!
metrics - コードメトリックを解釈する方法(SourceMonitorによって計算)
「コードメトリクスの計算」という質問への回答を読んだ後、ツールSourceMonitorをインストールし、いくつかのメトリクスを計算しました。
しかし、私はそれらをどのように解釈するのか分かりません。
メトリックの「適切な」値は何ですか
- 「パーセントブランチステートメント」
- 「クラスごとのメソッド」
- 「メソッドごとの平均ステートメント」
- 「最大の方法または関数の複雑さ」
ドキュメントにヒントが見つかりませんでした。誰か助けてもらえますか?
php - ログ/グラフPHPの実行時間
PHPサイトのページ読み込み時間を記録するために利用できるツールはありますか?
主に時間の経過に伴う読み込み時間の傾向を確認できるものを探していて、error_log()を使用してファイルにダンプすることを検討していましたが、それを解析してグラフを表示するために何を使用できるかわかりません
metrics - アプリケーションのサイズを測定するために ABC メトリックを使用した人はいますか?
それにはいくつかの良い点があり (Cyclomatic complex の概念をカプセル化するなど)、誰かが「実生活」でそれを使用したかどうか疑問に思っていました。もしそうなら、あなたの経験は何ですか?サイズの有用な尺度ですか (KLOC またはファンクション ポイントとは対照的に)?
私が何を吸っているのか疑問に思っている人のために: ここにいくつかの情報へのリンクがあります: http://c2.com/cgi/wiki/Wiki?AbcMetric
code-analysis - コード メトリクスについて
最近、Eclipse Metrics Plugin をインストールし、プロジェクトの 1 つのデータをエクスポートしました。
これらの素敵なグラフがあるのはとても良いことですが、それらが何を意味するのかをもっと深く理解したいと思っています. メトリクスの定義は、それが実際に何を意味するかを伝えるだけです。
すべてのデータの意味をよりよく理解し、必要に応じてコードを改善する方法を理解するのに役立つ優れたリソース、書籍、Web サイトなどを知っている人はいますか?
コードの行やメソッドごとの行ではなく、遠心性カップリングや循環的複雑性などに興味があります。
database - ソフトウェアを流れるすべてのクエリをどのように測定しますか?
彼のブログ記事の1つで、このWebサイトの所有者は、読者にこの質問を投げかけました。「ソフトウェアを流れるすべてのクエリを自動的に測定していますよね?」
これはどうやるんですか?データベースに対してクエリを実行するコードのすべての行の後に、カウンターをインクリメントするコードの行が続きますか?または、アプリとDBの間にあり、これを行うツールはありますか?
metrics - 「コードの行数」が有用な指標になるのはいつですか?
コードの最大の敵はそのサイズだと主張する人もいますが、私もそう思う傾向があります。それでも毎日、次のようなことを聞き続けます
- 私は一日で何行ものコードを書きます。
- 私は x 行のコードを所有しています。
- Windows は数百万行のコードです。
質問: 「#lines of code」はどのような場合に役立ちますか?
追伸: そのような発言がなされるとき、口調は「多いほど良い」であることに注意してください。
oop - オブジェクト指向言語のクラスとコード行の適切な比率は?
オブジェクト指向言語 (C++、C#、Java など) のクラス数とコード行数の適切な比率はどれくらいですか?
マネージャーを含む多くの人々は、ソフトウェアの複雑さを測定するために従来の LOC (コード行数) メトリックを好みますが、ハードボイルドなオブジェクト指向開発者の多くは、LOC は重要なクラス数の価値がないと言うでしょう。そして個人的には、クラスは複雑さのより合理的な指標かもしれないと信じていますが、LOC 指標がなければ、それらのクラスの実際の複雑さ (そこにいるポルターガイストと神々の量) を推定するのは難しいと思います.
したがって、かなり適切にコーディングされたソフトウェアの健全な比率となる可能性が高いことを誰かが知っていますか?
編集: この特定のケースでは、コードをクリーンアップするために必要なリファクタリングの量の大まかな見積もりを決定するための比率を探しています。
編集: Firefox、Apache、Webkit などの大きな OSS プロジェクトの比率を知っている人はいますか?
language-agnostic - 提供されたコードが「くだらない」と確信できるコード指標は何ですか?
ファイルごとのコード行、クラスごとのメソッド、循環的複雑度など。開発者は、すべてではないにしてもほとんどの場合、抵抗し、回避します。Joelの優れた記事があります (今すぐ見つける時間はありません)。
「くだらないコード」を自動的に識別するために、どのコード メトリクスを使用することをお勧めしますか?
このコードが「がらくた」であると開発者のほとんどを納得させることができるもの (いくつかのくだらないメトリックに私たち全員を納得させることはできません! :O))。
自動で測定できる指標のみがカウントされます。