あなたとほとんどの回答者は、2人の同僚間のコミュニケーションの問題としてこれに取り組んでいますが、実際にはそうは思いません。あなたが説明することは、何よりもひどく壊れたコードレビュープロセスのように聞こえます。
まず、同僚が2番目の指揮官であり、同僚があなたのコードをレビューすることを期待していると言います。それはただ間違っています。定義上、ピアコードレビューは階層的ではなく、間違いを見つけるだけではありません。また、(関係するすべての人に)学習体験、社会的相互作用の機会を提供し、集合的なコードの所有権を構築するための貴重なツールを証明できます。また、彼のコードをときどき確認し、彼から学び、彼が間違っているときに修正する必要があります(毎回誰もそれを正しくしません)。
さらに、あなたの同僚がすぐに変更を加えることを言及します。それも間違っていますが、もちろん既に知っています。彼のガンホーアプローチが問題にならなければ、この質問はしなかったでしょう。しかし、間違った場所で解決策を探していると思います。正直に言うと、あなたの同僚は私に少し思い出させてくれました。同じような状況でうまくいったのは、明確に定義された堅実なレビュープロセスと素晴らしいツールのセットでした。同僚があなたのコードをレビューするのを止めたくはありません。そして、小さな変更が実際に機能しない前に、彼に停止してあなたに話をするように頼みます。それはしばらくの間かもしれないが、彼はすぐにそれがただ面倒になり、あなたが始めたところに戻ってくるだろうか、さらに悪いことに彼はあなたのコードのレビューをやめるだろう。
ここでの解決の鍵は、ピアコードレビューツールかもしれません。私は通常、製品の推奨事項を避けますが、コードレビューのためにアトラシアンのクルーシブル本当に命の恩人です。それがすることは非常に単純に思えるかもしれませんが、それは驚くほど素晴らしいというわけではありません。リポジトリに接続し、個々の変更セット、ファイル、またはファイルのグループを確認する機会を提供します。コードを変更することはできませんが、代わりに、まったく気分が悪いと思われるすべてについてコメントします。また、他の人のコードを絶対に変更する必要がある場合は、変更を説明したコメントを変更セットに残すだけです。詳細については、Crucibleの製品ページの紹介ビデオをご覧ください。Crucibleの価格は万人向けではありませんが、無料で利用できる多数のピアレビューツールがあります。私が協力して楽しんだものの1つはレビューボードです。簡単なGoogle検索で他の多くの人を見つけることができると確信しています。
どのツールを選択しても、プロセスは完全に変わります。停止したり、椅子から降りたり、他の人を中断したり、変更について話し合ったりする必要はありません。あなたがする必要があるのは、毎週いくらかの時間を空けてコメントを確認することです(1週間に1回は提案に過ぎません。あなたはあなたのスケジュールと日課を私よりよく知っています)。さらに重要なことは、コアレビューはどこかのデータベースに保存されており、いつでも取得できることです。それらは、ウォータークーラーに関する一時的な議論ではありません。古いレビューの私のお気に入りの使用例は、新しいチームメンバーをコードベースに紹介するときです。私たちが正確に立ち往生している場所や意見の異なる場所などを指摘して、コードベースを新しい人に紹介できるのはいつでもいいことです。
次に、この同僚のコードが常に読めるとは限らないことに言及します。それは、あなたがコーディング標準の共通セットを持っていないことを私に知らせて、それは悪いことです。繰り返しますが、これは人の問題としてアプローチすることも、プロセスの問題としてアプローチすることもできますが、後者を強くお勧めします。チームをまとめ、共通のコーディングスタイルと一連の標準をできるだけ早く採用します。開発エコシステムで一般的な標準のセットを選択した場合でも、独自の標準を考案した場合でも、実際には関係ありません。本当に重要なのは、あなたの標準が一貫していること、そしてあなたがそれらに固執することです。たくさんのツールがありますが、それはまったく別の議論です。始めるためだけに、非常に簡単なことは、プリコミットフックを使用して、コード上で何らかのスタイルフォーマッターを実行することです。好きなようにコードを書き続けることができ、他の人がそれを見る前にツールに自動的に「修正」させることができます。
最後に、管理者は個々の開発ブランチが必要であるとは考えていないことをコメントで述べています。まあ、「管理ブランチ」ではなく「開発ブランチ」と呼ぶ理由があります。頭の中に暴言が出てくる理由はないので、ここでやめます。
そうは言っても、ここにあなたの同僚が(少し)間違っていることを疑わないことを知っています。それは私のポイントではありません、私のポイントは、あなたの開発プロセス全体にも障害があるということです、そしてそれは修正するのがより簡単なものです。適切なツールを使用して、数多くの公式および非公式のプロセスを調査し、チームに合ったものを選択してください。すぐに、ほとんどの「人の問題」がもう存在しないことに気付くようになるでしょう。そして、「私たちは小さなチームです。私たちはすべてを必要としません」という言い訳をする人(あなた自身を含む)に耳を傾けないでください。有能な開発者のチームは、必要なツールを1週間以内にセットアップし、自動化できるすべてのものを自動化できます。
PS。「コードの所有権」は曖昧な用語であり、常に議論されており、人によって異なることを意味します。C2についてのほとんどの異なる(そして時には相反する)意見の素晴らしいコレクションを見つけることができます。