問題タブ [code-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.
unit-testing - 単体テストの妥当なコード カバレッジ % とは (およびその理由)?
単体テストのコード カバレッジの最小パーセンテージを、おそらくリポジトリにコミットするための要件としても義務付けるとしたら、それは何になりますか?
どのようにして答えにたどり着いたのか説明してください (もしあなたが数字を選ぶだけなら、私はすべて自分でできたはずです ;)
code-metrics - コード メトリクスの魅力は何ですか?
最近、SO に関する「コード メトリクス」関連の質問を多数目にしましたが、その魅力は何なのか疑問に思う必要があります。最近の例を次に示します。
私の考えでは、コード レビューの代わりになる指標はありません。
- 一部のメトリックは、レビューが必要な場所を示す場合があります。
- 短期間でのメトリックの急激な変化は、レビューが必要な場所を示している可能性があります
しかし、それ自体が常に「良い」コードまたは「悪い」コードを示す単一のメトリックを考えることはできません。測定値で確認できないものには常に例外と理由があります。
私が見落としていたコード メトリクスから得られる魔法のような洞察はありますか? 怠惰なプログラマー/マネージャーは、コードを読まない言い訳を探していますか? 人々は巨大なレガシー コード ベースを提示され、開始する場所を探していますか? どうしたの?
注: 特定のスレッドで回答とコメントの両方でこれらの質問のいくつかを尋ねましたが、回答がありませんでした。そのため、おそらく何かが欠けているので、一般的にコミュニティに質問する必要があると考えました。メトリクス バッチ ジョブを実行して、他の人のコード (または自分のコード) を実際に二度と読む必要がないようになればいいのですが、それは実用的ではないと思います。
編集: 議論されている指標のすべてではないにしても、ほとんどの指標に精通していますが、それらのポイントを単独で、または任意の品質基準として見ているわけではありません。
code-metrics - データを検証する際に循環的複雑度を減らす最善の方法は何ですか?
現在、null の結果を返す可能性があるデータベースから大量のデータを受け取る Web アプリケーションに取り組んでいます。アプリケーションの循環的複雑度を通過するとき、多くの関数の重みは 10 ~ 30 の間です。ほとんどの場合、数値が大きい関数の大部分には、次のような行がたくさんあります。
これが私の質問につながります。これらの数値を下げるための最善の方法は何ですか? 現在、関数の大部分を 10 未満にすることを考えています。
metrics - LOC カウントにはテストとコメントを含める必要がありますか?
LOC (コードの行数) はコードの複雑さの測定に問題がありますが、最も一般的なものであり、非常に注意深く使用すると、少なくともコード ベースの相対的な複雑さを大まかに見積もることができます (つまり、1 つのプログラムが 10KLOC の場合)。もう 1 つは 100KLOC で、ほぼ同じ能力を持つチームによって同じ言語で書かれています。2 番目のプログラムはほぼ確実にはるかに複雑です)。
コードの行数を数える場合、コメントを で数えるのが好きですか? テストはどうですか?
これに対するさまざまなアプローチを見てきました。cloc や sloccount などのツールを使用すると、コメントを含めたり除外したりできます。コメントはコードの一部であり、複雑であると考える人もいます。
単体テストにも同じジレンマがあり、テストされるコード自体のサイズに達することもあれば、それを超えることさえあります。
「操作可能な」非コメント非空白行のみをカウントすることから、「テスト済みのコメント付きコードの XXX 行」まで、さまざまなアプローチを見てきました。事業"。
あなたの個人的な好みは何ですか? その理由は何ですか?
coding-style - コードの品質を判断するには、どのような指標を使用する必要がありますか?
私は現在、大規模なプロジェクトに取り組んでいます。そこでは、多くの開発者が時間をかけて作業し、コードはひどいものでした。多くのリファクタリングを行った後、コードに問題がないポイントに到達しました。今、私は「ok」が何を意味するのかを考えています-おそらく誰にとっても何か違うものです。
「OK」を指定することは可能だと思いますか?重要なことは何ですか?NDependメトリック?テストカバレッジ?コメント?コーディングスタイル?ドキュメンテーション?
コーディングスタイルやコメントについては、すでに多くのトピックがあることを私は知っています(たとえばここ)。この質問は、どのような事実が重要であるかについてです。
visual-studio-2008 - Visual Studio のコード メトリクス機能を自動化する方法
.NET ソリューションでコード メトリックを収集するプロセスを自動化したいと考えています。VS2008 Development Edition に含まれる Code Metrics 機能を msbuild で実行する方法はありますか?
SourceMonitorを使用することになるかもしれませんが、コマンド ラインから VS コード メトリック エンジンを使用する方法があるかどうかを知りたいです。
visual-studio - C++ プロジェクトのコードの行数を確認するにはどうすればよいですか?
Visual Studio で、プロジェクトに存在するコードの行数を簡単に知る方法はありますか?
function - 関数/プロシージャ/メソッドには何行のコードが必要ですか?
重複の可能性:
関数が長すぎるのはいつですか?
私は最近、別の開発者が書いた質の悪いコードをレビューし、その悪習を文書化するという、うらやましい仕事を任されました。(もちろん、これは利他的な理由ではなく、開発者の作業に対する支払いから逃れるためのものです!)
レビューされたコードには、多くの行のコードであるいくつかの手順があり、最長のものはほぼ 600 行です。私が考えたこれに関するいくつかの問題は、保守性と可読性です。
秘訣は、なぜこれが悪い習慣なのかを素人に説明し、可能であれば、よく知られている最新の参考書でそれを裏付ける必要があるということです。アナロジーもいい。
何か案は?
重複: 関数が長すぎるのはいつですか?
重複: 最大関数サイズの最適なルール?
code-metrics - 「不要なコード」をどのように定義しますか?
「不要なコード」をどのように定義しますか?
編集:
IMHO、アクティブな呼び出しメンバーが 0 のコード メンバー (再帰的にチェック) は不要なコードです。(関数、メソッド、プロパティ、変数はメンバーです)
metrics - SLOC および SLOC の変更、追加、削除を表示する Linux ツール
現在、コードベースのソース コード行 (SLOC) を取得するために SLOCCOUNT ツールを使用しています。
ただし、コードベースの 2 つのバージョンを比較してレポートすることはサポートされていません。
- コード行 (LOC) が変更されました
- LOCが削除されました
- LOCが追加されました
これを行うための Linux ベースの (できれば無料の) ツールを提案できる人はいますか?