私は小規模なチームを持っていますが、私が主に運用環境に入る内容をレビューし、導入されたコードがビジネスロジックと矛盾しないこと、バグがないことなどを確認する唯一の人物です。テストの多くでこれを改善できることを知っています。私たちはしばしばそれらを使用しますが、私は人間のコードレビューを最大で補完するテストを確認します(何がテストされたか、どのようにテストされたかは、たとえば、常にテストとテスト中のコードのレビューが必要になります)。
しかし、これはすべて私がボトルネックになっていることを意味し、私の仕事の大部分は、しばらくすると少し心が痛むコードのレビューになりました。負荷を分散する方法はたくさんあると思いますが(主に他の全員をレビュープロセスに含めたいと思います)、私はより年上で、私たちのシステムの経験が豊富なので、どのように始めればよいかわかりません。私が何を目指しているのかを確認してください。
私が何を目指しているのか、そしてそこに到達するための最良の方法は何かについて、より良いアイデアを持つ提案を聞いて喜んでいます。
負担を軽減/共有する方法はいくつかあります。
ツール
どの言語を使用しているかは言いませんが、StyleCop、ReSharper、FxCopなど、基本的な分析を実行できる多くのツールがあります。
コードカバレッジ
十分にテストされたコードの場合、カバレッジパーセンテージは少なくとも80年代以上でなければなりません。
ピアレビュー
あなたがまだ門番である場合でも、より多くのジュニアメンバーにレビューを依頼し、より明白な間違いを取り除くことで、作業負荷を軽減できます。
表示して伝える
何時間/何日も前にコードを確認するのではなく、コードを実行してアプローチを説明してもらいます。
ペアプログラミング
一部の場所では、ペアプログラミングを支持して、コードレビューを完全に中止しています。最終的なレビューが必要な場合もありますが、これにより、最初からコードにバグが入るのを防ぎ、レビューが必要なコードの量を減らすことができます。
[〜#〜] tdd [〜#〜]
TDDは、実際に何が必要であるかということに集中します。ベルとホイッスルは、バグの原因となるコードを追加します。
人間のコードのレビューを補完するテストが最大で見られる
うーん、あなたが言うすべての中で、これは私にとって最も際立っています。ここであなたの意味に微妙なニュアンスがあるかもしれませんが、アイデアは、うまくコード化されたソフトウェアではなく、動作するソフトウェアを作成することであることを常に覚えておいてください。
最初に行うことは、コードをレビューするルールを書き留めることです。すなわち
あなたがそれをしたら、誰でもかなり迅速にコードレビューを行うことができます。強制したいものすべてを一連のルールに取り込むことはできないかもしれませんが、少なくとも作業の大部分は「外部委託」することができます
次に、コードレビューを完全に停止することをお勧めします。今後のルールをチームに決定させ、ルールの変更、適用、無視を自由に行えるようにして、ルールが最適であると感じさせます。
新しい機能が提案されたときに機能以外の要件を確実に満たすことにより、製品の品質を維持します。
これは、コードレビューよりもはるかに強力なコントロールです。ページが3秒未満でロードする必要がある場合、[〜#〜] has [〜#〜]は3秒未満でロードする必要があります。監査できるようにすべてのSQLがSProcsにある必要がある場合、それはビジネス要件です。
ただし、これらが実際のビジネスの要件であることを確認してください。