コードレビューは主観的または客観的(定量化可能)ですか?
コードレビューのガイドラインをまとめています。正式なプロセスはまだありませんので、正式にしようとしています。そして、私たちのチームは地理的に分散しています。 私たちが使用しているTFSをソース管理のために(私たちは、同様のタスク/バグトラッキング/プロジェクト管理のためにそれを使用するが、我々は、移行とJIRA)開発のためのVisual Studio 2008で。 コードレビューを行う際にあなたが探しているものは何ですか? これらは私が思いついたものです 強制FxCopののルールを(我々は、Microsoftの店です) パフォーマンス(任意のツール?)とセキュリティ(OWASP-コードクローラーの使用について考えています)およびスレッドセーフを確認します。 命名規則に従う コードはエッジケースと境界条件をカバーする必要があります 例外を正しく処理する必要があります(例外を飲み込まないでください) 機能が他の場所で複製されているかどうかを確認します メソッド本体は小さく(20〜30行)、メソッドは1つのことと1つのことのみを行う必要があります(副作用はなく、一時的な結合を回避します-) メソッドでnullを渡さない/返さない デッドコードを避ける パブリックおよび保護されたメソッド/プロパティ/変数を文書化する 他に何か気をつけるべきことはありますか? レビュープロセスを定量化できるかどうかを確認しようとしています(別の人がレビューすると同じ出力が生成されます)。例:「メソッド本体は、体は小さくなければなりません」。 または、コードレビューは非常に主観的ですか(また、レビュー担当者ごとに異なります)。 目的は、開発者がコードをチェックインする際により慎重になるように、マーキングシステム(各FxCopルール違反ごとに-1ポイント、命名規則に従わない場合-2ポイント、リファクタリング用に2ポイントなど)を持つことです。これにより、常に良い/悪いコードを書いている開発者を特定できます。目標は、レビュー担当者がレビューを行うために最大で約30分を費やすことです(変更セット/リビジョンに複数のファイル/既存のアーキテクチャへの大きな変更などが含まれる可能性があることを考えると、これは主観的なことですが、一般的な考え方として、レビュー担当者は誰かのコードをレビューするのに何日も費やすべきではありません)。 開発者が書いた良い/悪いコードを識別するために、他にどのような客観的/定量化可能なシステムに従っていますか? ブックリファレンス:Clean Code:Robert Martinによるアジャイルソフトウェアの職人技のハンドブック。