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

ソフトウェアおよびソフトウェア開発プロセスに関連する測定可能な特性/属性、およびそれらの測定に関連するすべて。時間と空間の複雑さについては、タグbig-Oを使用します。その他のより具体的なメトリックの質問については、タグの複雑度、または適切な場合は循環式複雑度を使用します。

10
SMARTの目標はプログラマにとって有用ですか?[閉まっている]
私が知っているいくつかの組織は、プログラマーにSMART目標を使用しています。SMARTは、特定、測定可能、達成可能、関連性、および時間制限の頭字語です。大企業ではかなり一般的です。 SMARTの目標に対する私自身の以前の経験は、それほど前向きではありませんでした。他のプログラマは、パフォーマンスを測定する効果的な方法を見つけましたか?プログラマーにとってSMARTの優れた目標の例は何ですか(存在する場合)。

7
生産性を測定するためのSLOCの有効な使用方法は知られていますか?
動的言語と静的言語について、非常に上級のアーキテクトと異常な短い会話をしました。彼は、企業データは、静的言語を使用した場合の生産性向上の証拠があることを示していると述べました。注意してください、それは長い歴史を持つ大企業です。驚いたことに、彼が使用した測定基準は追加されたコード行でした。 彼は、SLOCメトリックが生産性を比較するのに役立つように、同じ企業内で、似た文化、業種、十分なデータを持つ違い(個人の固有の状況と能力に関する)が十分に混ざり合っていると言うメトリックに関する異議をすぐに却下しましたツールと言語。 この主張が厳密な統計分析に裏付けられているとは思わないが、この考え方を裏付ける証拠は業界にあるか?

8
locごとのバグの平均数は、異なるプログラミング言語で同じですか?[閉まっている]
コード行ごとのバグ/欠陥の平均数は、さまざまなプログラミング言語で「一定」であると言われています。Rubyの10 KLOCには、c ++の10 KLOCと同じ数のバグがあります。同じ機能を記述する行の数が少なくなるため、引数は通常、表現力のある言語の使用を促進するために使用されます(python / ruby​​ over c ++ / assemblyなど)。 誰がこの主張がどこから来たのか知っていますか?高レベルの言語はバグの減少につながりますか?



6
「コードのテスト行」に対する「コードの機能行」の通常の比率は何ですか?
私はTDDアプローチにかなり慣れており、最初の実験では、1行の機能コードを記述することは、2〜3行のテストコードを記述することを意味します。したがって、1000 LOCを記述する場合、テストを含むコードベース全体は〜3500 LOCのようなものになります。 これは正常と見なされますか?あなたが書くコードの割合は何ですか?

8
プログラマーの給与を決定するためにどの基準を使用する必要がありますか?[閉まっている]
最近、私はプログラマーの給料を決定する際にどの基準を使用すべきかについての議論の一部になりました。などなど、Stack Exchangeブログでこのテーマに関する素晴らしい投稿を読んで、これに同意することはできませんでしたが、多くの雇用者は説明されたロジックに従っていません。 あなたの経験では、プログラマーの給与を決定するときに最も重要な要素はどれですか?これらの状況で最も頻繁に適用される基準はどれですか?どの基準が最も頻繁に適用されるべきですか?そして最後に、給与を決定する上で正式な教育(大学、大学)はどの程度重要ですか?

3
プログラミング能力の成長を測定するためにどのようなマイルストーンを使用できますか?[閉まっている]
長期にわたって、コードの生成が改善されていると客観的に判断するにはどうすればよいですか?たとえば、私はここに座って、「今知って<language>いるし、<technique>今使っているので、もっと良くなければならない」と感じるかもしれません。しかし、これは私自身のバイアス、または意図したよりも遅い速度で良くなっているかもしれないという事実、または私は実際にそれを吸い込んで<technique>気付かないかもしれないという事実を説明しません。自分の能力を客観的に評価するための方法は何ですか?それらを仲間のグループと客観的に比較するのはどうですか?

2
循環的複雑度の範囲[閉じた]
循環的複雑度のカテゴリーは何ですか?例えば: 1-5:維持しやすい 6-10:難しい 11-15:非常に難しい 20+:近づきにくい 何年もの間、私は10が制限であるという仮定を行ってきました。そしてそれ以上のものは悪いです。私は解決策を分析しており、コードの品質を判断しようとしています。確かに循環的な複雑さだけが測定値ではありませんが、それは役立ちます。循環的複雑度が200以上のメソッドがあります。私はそれがひどいことを知っていますが、上の例のように、より低い範囲について知りたいです。 私はこれを見つけました: カーネギーメロンの前述の参照値は、循環的複雑度値の4つの大まかな範囲を定義しています。 1から10までの方法はシンプルで理解しやすいと考えられます 10から20の間の値は、より複雑なコードを示しますが、依然として理解しやすいかもしれません。ただし、コードが取り得る分岐の数が多いため、テストはより難しくなります。 20以上の値は、非常に多数の潜在的な実行パスを持つ典型的なコードであり、非常に困難かつ労力をかけてのみ完全に把握およびテストできます。 50を超えるなど、さらに高くなるメソッドは確かに維持できません ソリューションのコードメトリックを実行すると、25未満の場合に結果が緑色で表示されます。これには同意しませんが、他の入力を取得することを望んでいました。 サイクロマティックの複雑性について一般に受け入れられている範囲リストはありますか?

14
ソフトウェアのテストは実際にプロのプロジェクトで行われていますか?
私は長い間開発者であり、請負業者であるため、いくつかの企業で多くのプロジェクトに携わってきました。 私はと推定して20%未満のプロジェクトを系統的にテストされています。綿密にテストされたとは、アドホックで計画的なテスト以外のテストを意味します。 また、チームの一部として専用のテスター、テスト計画ドキュメント、開発者が自動化されたテストを作成し、テストカバレッジを追跡し、結果を測定するプロジェクトでは、10%未満のプロジェクトが綿密にテストされていると推定しています。 2つの質問 この問題についての推定パーセンテージは何ですか? ソフトウェアテストに関する専門的な経験は何ですか? 追加メモ 系統的なテストの質問にはかなり偏った答えが得られる可能性があるため(人々は他の人より優れていることを自慢したい)、他の開発者(系統的なテストにさらされていない開発者)にも答えを提供することをお勧めします。あなたの会社を除いてどこでも行われています。
25 testing  metrics 

13
保守性をどのように有意義に測定しますか?
コンテキスト:私は、すべてがMSショップのエンタープライズ開発者です。 コードやアプリケーションの保守性を客観的に測定するための良い方法を誰かがお勧めできますか? なぜ保守性があるのか:バグとコードカバレッジの数のみを対象とするグループの "品質"メトリックにうんざりしています。特に保守性を測定していない場合は、どちらのメトリックも簡単にゲームできます。近視眼と締め切りは、実際に対処されない膨大な量の技術的負債をもたらします。 なぜ客観的に測定できるのか:私は大企業グループで働いています。客観的に測定できない場合は、人々に説明責任を負わせたり、それを改善することはできません。主観的な測定は、発生しないか、一貫して発生しません。 私はVS2010コードメトリックスを見ていますが、誰か他の推奨事項があるかどうか疑問に思っています。

2
ソフトウェアのスケーラビリティはどのように測定されますか?
特定のアプリケーションのスケーラビリティについて、いくつかの技術的なプレゼンテーションを行うよう依頼されました。アプリケーションは、Java、Spring MVC、Hibernateを使用して開発されています。アプリケーションのソースコードにアクセスできます。 (ソースを使用して)ソフトウェアスケーラビリティを測定するにはどうすればよいですか?また、ソフトウェアスケーラビリティを測定する際に注意する必要があるメトリックは何ですか?

7
経験的指標に基づいて、ソフトウェアが良いか悪いかをどのように知るのですか?
現在、5か月前にコア開発を終了したが、依然として高レベルの欠陥があるプロジェクトを検討するよう求められています。約10個の欠陥が修正されるごとに発生するのは、少なくとも4個、場合によっては8個の欠陥が発生することです。 ベンダーでのコーディング慣行は貧弱であり、これについては一般的な合意があると思います。しかし、ソフトウェアに構造的な問題があるかどうか疑問に思っていますか?欠陥密度は有用な尺度ですが、コアソフトウェアの作成が不適切な場合は、ベンダーが行っていることはすべて問題を解決することです。 インフラストラクチャでは、何かが不完全に構築されている場合、より明確に定義されていますが、LOCごとの欠陥のほかに、ソフトウェアにどのような測定値を使用できますか? この製品は4か月間欠陥修正フェーズにありますが、重大な欠陥はまだ十分に解決されていません。回帰の問題を修正するだけで、新しい機能を注入することはありません。 これは開発品質の問題を示しており、満足していません。ただし、製品自体に根本的な欠陥がある場合、それは別の問題です。懸念されているのは、コアコードベースの作成が不十分であり、ドキュメントが限られているため、外部の開発者はすべて、問題をAからBにシフトしているだけです。機能的にします。 サードパーティから製品を受け入れ、サポートを求められた場合、標準を定義するためにどの受け入れ基準を使用しますか? リード開発者にリリースごとのコードのピアレビューを行わせることに加えて、他に何ができるかわからない?

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

4
イベントログメトリックのデータアーキテクチャ?
私のサービスには多数のユーザーイベントが継続しており、「日付D以降のイベントタイプTの発生をカウントする」などの処理を行いたいと考えています。 私たちは2つの基本的な決定をしようとしています: 何を保存しますか?すべてのイベントの保存と集約のみの保存 (イベントログスタイル)すべてのイベントを記録し、後でカウントします。 (時系列スタイル)毎日の単一の集約された「日付DのイベントEのカウント」を保存する データを保存する場所 リレーショナルデータベース(特にMySQL) 非リレーショナル(NoSQL)データベース内 フラットログファイル(ネットワーク経由で集中的に収集されるsyslog-ng) 標準的な慣行とは何ですか/さまざまなタイプのシステムの比較に関する詳細はどこで読むことができますか? 追加の詳細: 合計イベントストリームは大きく、潜在的に1日あたり数十万のエントリ しかし、私たちの現在のニーズは、その中の特定の種類のイベントを数えることだけです 生データや集計結果にリアルタイムでアクセスする必要は必ずしもありません 私見、「すべてのイベントをファイルに記録し、後でクロールしてストリームをフィルタリングおよび集約する」は、かなり標準的なUNIXの方法ですが、私のRails-yの同胞は、MySQLでない限り、現実はないと考えているようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.