トランクにマージする前にコードレビューを実行するように主張する必要がありますか?


10

StackOverflowからの再投稿のリクエスト:

私は開発期間が非常に限られた短い開発時間で働いています。私たちは、仕事の結果には重要ですが、日常的には使用されないツールを開発しています。私は、プログラマーとしての経歴を持つチームで唯一の人物です。

私の問題は、1年以上トランクにマージする前にコードレビューを強く求めてきたことです。誰もがこれに同意しましたが、それでもレビューされたのは私のコードだけです。長い休暇から戻ってきて、「これは醜い解決策です-できるだけ早く削除してください」と「クイックフィックス」のコードコメントでトランクに戻ります。また、新しいのは、ある人がツールの責任者に任命されたということです。(最初に私に与えられた役割ですが、仕事以外の理由で辞退しました。)そして、彼はこれは仕事をするのに良い方法であると考えています。

私の懸念は、他の開発者が醜いコードを書くことです:多くの場合、カプセル化の破壊、巨大なクラスの作成、奇妙な場所での内部クラスの追加、ユニットテストがほとんどまたはまったくないなどです。最終的にはツールをさらに開発することは不可能になります。

トランクにマージする前にコードレビューを実行するように主張する必要がありますか、それとも単なるコード品質の問題ですか?


3
「開発には限られた時間しかないので、そのように手を抜く必要があります。」->「今すぐ支払うことも、後で支払うこともできます。」私は2年半、コードレビューと単体テストに苦労してきましたが、常に同じ答えを得ました。もちろん、今では数千行のコードがあるので、すべての「コーナーカット」が私たちを悩ませています。
MetalMikester

男がより経験を積むように状況は改善されます。
2010年

回答:


2

私は以前に同じような状況にあったことがあり、私はそれが「コードを維持する必要があるか」に依存しています。

コードを維持する必要がある場合は、高品質のコードが必要なため、コミットごとにコードレビューを要求する必要はありません(つまり、特定のコードにレビューが必要かどうかをプログラマーが自分で決めることができます)が、可読性/保守性が低下する場合それは正しいかもしれません。

これを読むとき:

私の懸念は、他の開発者が醜いコードを書くことです:多くの場合、カプセル化の破壊、巨大なクラスの作成、奇妙な場所での内部クラスの追加、ユニットテストがほとんどまたはまったくないなどです。最終的にはツールをさらに開発することは不可能になります。

あなたの問題は単なるコードレビューよりも大きいと思います。いくつかのガイドラインがないか、実装されていません。単体テストがない/少ないのは悪い考えかもしれませんが、特定のケースに依存します。ただし、breaking encapsulation, writing huge classes, ...間違いなくバグが発生しやすいコードを作成して、確実に修正する必要があります。


6

コードレビューとコーディングガイドラインの維持は良い考えだと思いますが、チェックインのたびにそれを行うのは時間の無駄だと思います。チームを設立するときや若いプログラマーと一緒にするのは良い考えですが、経験豊富なプログラマーは自分で考え、最終的には彼らを信頼する必要があります。とはいえ、定期的にコードレビューを行って最新の状態にすることができますが、VCSに入るコードのすべての行を見ると、実際にそれをやりすぎています。

そして、あなたの同僚の修正に関する小さなコメント-時には醜い修正をすることが正しい解決策です。この特定のコードは、多くの時間を費やすのに十分重要ではないかもしれません。単純なソリューションで十分であり、他のことに時間を費やすほうがよいかもしれません。コードを「きれい」にすることは、プログラマーとしての主な目標ではありません。あなたの主な目標は、コードのすべての行を提供し、それに取り付かなければならないことです。

私が言おうとしていることは、あなたはあなたの戦いを選ぶ必要があるということです。デリバリー戦争(またはこの件に関してはこの重要なサブシステム戦争)に勝つために、重要でないユーティリティクラスに対する戦いに負けてもかまいません。


3

問題のプログラムが1回限りの使い捨てプロトタイプではない場合、すべてのチェックインでコードレビューが必須になると思います。

上級開発者は、必要に応じてレビューを要求するのに十分なほど良心的であることがわかっている場合、レビューされていないチェックインの特権を持つことができます。


1

誰かがより良いコーディング標準を実施し始めるまで、コードレビューが答えであるかわかりません。誰かがくだらないコードを書き、コメント/承認し、とにかくそれをチェックします。誰かがコードを拒否したいが、予定より遅れる場合、レビューは何をするのが良いでしょうか?

必要なのは、標準を設定し、主要な犯人をより綿密に監視し、優れたコードが常により多くの時間を費やすとは限らないことを彼らの頭に打ち込むことです。彼らは、悪い習慣の変更を拒否する言い訳としてタイムラインの使用をやめる必要があります。

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