明らかに、経営陣がコードレビューに時間を費やすことに慣れれば、誰もがそれを行わなければなりません。
しかし、彼らの存在のあらゆるオンスで抵抗するそれらの人(またはギャル)は常にいます。
査読者として扱う場合、このシナリオへの対処を効果的にどのように管理しますか?
彼は恐怖のために抵抗します。これは コンディショニング は、子供の頃、学校、職場、または現在のチームでのレビューについて以前に悪かった経験の結果である可能性があります。私たちの現代社会では、誰かの仕事の成果を人間としての彼の価値と混同することは非常に一般的です。そのため、職場でのレビューはあまり知られていません。それはまた、最も広まった恐怖症の1つ(判決に対する恐怖)で人前で話す理由でもあります。
そのような振る舞いを避けるには、心理学が必要になります。あなたは彼に トカゲの脳 それが起こらないことを証明する必要があります(彼は裁判にかけられず、屈辱的で、殺されました...) 鈍化 彼はレビューをコード化します。
ブロックを解除するために私が見つけた最も効果的な方法の1つは、コードを確認する前にコードを確認するように依頼することです。
しばらくして、propose彼はコードを読んでそれから学び、なぜそうしないのかsuggest改善。変更するものを見つけたら、書く内容に注意してください。彼は恐れることは何もないことを理解し、彼は復習プロセスの肯定的な部分のみを引き受けます:学び、知識を増やします。
私はペアで作業してみます-アイデアが嫌いな人とそれを好きな人とチームを組んで、数週間、お互いのコードをレビューしてもらいます。明らかにこれは役立つかもしれませんし、そうでないかもしれませんが、レビューの両端にいると、少なくともプロセスのより丸みのあるビューが得られます。ペアで作業することで、お互いのスタイルやよくある間違いに慣れることができ、ゴム印ではなく、実際にお互いが良くなるのを助ける時間を与えられます。これは、レビューするだけでなく、再コーディングするか、ゼロから計画してコーディングする傾向が高まると思うので、作業環境でペアプログラミングを促進するのにも役立ちます。
利害関係のない当事者が喜んで試みる限り、これは助けになるでしょう。彼らがそれを検討することを拒否した場合、彼らがチームにいる限り、あなたがそれについてできることは多くありません。
@Pierreの答えは、コードレビューを恐れている人にとっては順調です。別の状況が想像できます。コードのレビューを感じたスタープログラマは、コードが品質と正確さの許容基準に達しているため、時間の無駄です。この場合、コードレビューは時間の浪費であり、魔女の狩りであると彼らは感じるかもしれません。 (これは、問題が存在しない場合の検索です。)
この場合、レビューの目標の方向を変えます。コードレビューは、コード内の「問題」を見つけることではなく、ターゲットのリファクタリング、将来の潜在的な拡張、または追加の設計機能の検索として扱います。このようにして、コーダーとレビュアーの両方がプロセスに関与します。うまくいけば、この有能なコーダーは、時間を有効に活用しているように感じられるでしょう。
率直に言って、よく管理されたショップがある場合、この質問は意味がありません。
1)それが仕事の一部である場合、あなたはそれをしなければなりません、またはあなたは部下です。義務付けられている仕事の一部を断固として拒否する人は、缶詰にされるべきです。プログラミングは技術と職業です。レビュアーとマネージャーは、仕事を終わらせるのを手助けするためにそこにいます。
2)よく管理されたソース管理システム(専門のソフトウェアショップでは必須)がある場合、コードが気に入ったかどうかに関係なくレビューできます。コードを確認してください:
よかったら、通知して背中を軽く叩いてください。そうすれば参加が促進されます。
それが良くない場合は、それらも知らせてください。これは、彼ら自身を守るために、彼らに参加するよう動機づける効果があるはずです。そうでない場合は、罰則措置をとることができます:罰金、ステータスの降格など。努力してもこの従業員が現れなかった場合、IMOには悪い従業員がいて、彼らにドアを見せるべきです。
彼らはコードレビューが適切に行われなかった場所でいくつかの否定的な経験をしていますか?彼らは正当な懸念を抱いているかもしれません。
練習のメリットがまったくない場合は、辛抱強く待ってもらい、結果として自分のコード、特に他のコード(完璧だと思う場合)に何が起こるかを確認してください。
コードレビューは開発を「改善」すべきですが、実際に機能するシステムができるまで、なぜ誰かがそれを実行したいのでしょうか?
個人的には、人口100%では勝てない戦いもあると思います。
誰かに強制されたときにペアプログラミングが機能しない理由は十分にあります。
しかし、コードレビューは異なります。これは、必ずしも作業習慣ではなく、生産性を変更します。
経営陣は、生産性による抵抗を減らすためにいくつかのことを行うことができます。1)すべての開発者の速度の低下を受け入れる。 2)レビューサイクルによる複数のバージョンの管理とマージに対処する適切なツールを提供します(たとえば、開発者がローカルのgitリポジトリを持つことができるようにします)3)負荷の分散と品質と適時性を確保するために何らかの社会的またはその他の形の圧力をかけますレビューの。
彼らがそれをするなら、全員に参加を要求することは正当です、私見。現在私が働いている会社はこれをグローバルに推進しています-所有者の承認なしに提出することはできません。そして、これは物事を遅くしますが、それは多くの事故を防ぎます。
コードレビューを必須にするために、技術的な手段を使用しました。
コードレビューを導入した方法は、ソース管理では、他の誰かがサインオフしていないコードをプッシュしたコードをマージすることは不可能であるということです。