G'day、コードのレビュー時に悪い匂いがアプローチに影響しますか?
私はKristopher Johnsonからのコメントについて、ソフトウェア開発品質に関するこの回答questionについて考えていました。
は私が含ま私の頭の上から考えることができ、ソフトウェアの品質メトリクスのリストを掲載したい:
- マッケイブCyclometric複雑 - コードによる線形パスの数の基本的指標。
- インデントのレベル - ネストされた決定ステートメントを見るときの複雑さの尺度。
- 宣言から最初の使用までの距離 - 変数が宣言されている場所と最初に使用された場所の間にあるステートメントの数。
- コメントパーセンテージ - コメントはソースコードと比較して何行目かです。
- パーセントテストカバレッジ - コード行のパーセンテージとして、テストスイートでどのくらいのテストが実行されますか。
- パステストカバレッジ - テストで実行された実行パスの数。
- ユニットカバレッジ - ユニットテストで個々のユニット、クラス、パッケージなどの数が実行されます。
クリスさんのコメントでした:
のみここに記載されているテスト・カバレッジ指標はの尺度と考えられる「品質。」他のものは複雑さと可読性の測定値であり、実際には品質とは関係ありません。
私はこの声明に全く同意しないという事実を別にすれば、私は思考を得ました。
ユニット、システム、統合のいずれのテストにも関連するテストがほとんどないコードを見直す必要があるとき、私は正常に渡されたテストの良いスイートを見るよりもはるかにコードに近づく傾向があります。
コードでセキュリティ監査を行う場合と同じことです。私が使用していない変数、巨大な関数、configsの奇妙な混合、サーバごと、dirなどがApacheモジュールで使われているのを見ると、コードに非常に慎重に近づく傾向があります。
他の誰かがこの初期の「腸管感覚」アプローチを使用していますか?それが結果に影響しますか?
私は他のすべてのメトリックが間違って設計された、実行が不適切なコードを強調するための有効な手段であるため、Krisのコメントに同意しません。 Damian Conwayが言っているように:
あなたのコードを維持する人は、あなたがどこに住んでいるかを知っている暴力的な精神病者であるかのように、常にコードします。
しかし、確かに "腸の感覚"は苦い経験の長い期間の後にのみ確立され、したがって "初心者"の領域にすることができませんでしたか? –
それはそうです。 – aku
申し訳ありませんaku!私はあなたの前に前立腺を置き、あなたのコメントを間違って読んだことをお詫びします。私たちは実際に同意しているのです! ( - : –