3

私は、すべての変更を追跡して、昨日コードをどこで壊したかを把握することと、物事を正常に保つ制御された (オーバーヘッドの高い) コード レビュー プロセスとの間の矛盾に苦しんでいます。

私は非常に伝統的な ClearCase ショップで働いています。すべてのチェックインにはコード レビューが必要であり、私にはプライベート ブランチを作成する権限がありません。私の日常業務すべてをバージョン管理したいという衝動を満たすために、クリアケース ビューで mercurial を使用しています。

私は、クリアケースの人々とできるだけうまく遊びながら、私の日々の変化を追跡するための最良の方法は何かについて、集合的な知恵を求めています.

4

5 に答える 5

1

早くそして頻繁にコミットします。同僚は、コードレビューが小さいことを高く評価し、変更の管理とマージが容易になります。小さな作品を噛み砕いて、それをコミットすることに集中してください。

日々の変化を追跡する上で、どのような問題に直面していますか?クリアケースの差分を実行すると、何が変更されたかがわかります。

于 2009-06-12T00:12:55.307 に答える
1

私はタナシウスとスティーブンと一緒です。個人的な変更を追跡するために Mercurial を使用しているからといって、レビューのために ClearCase に早期に送信できないわけではありません。問題はmercurialでもClearCaseでもなく、誰かがレビューするために4780行のコードを提出しています。

また、厳格なレビュー ポリシーと Perforce を備えたショップで働いています。私はローカルの小さな変更を追跡するために git を使用していますが、変更が大きくなって同僚が理解できるようになる前に、レビューのために送信します。

早期にコミットし、小さくコミットします。

于 2009-06-12T02:29:16.040 に答える
1

私は ClearCase に精通していないため、私の回答の範囲はmercurialのみになります。

私はあなたの次の問題を考慮します:私は変更をローカルで追跡して、ステップが不完全/壊れていてもステップを保存できるようにし、レビューのために全体像を送信しますが、コミットが大きすぎて簡単にレビューできないことがよくあります. 私は正しいですか?

この特定の問題を解決するために、私はMercurial Queuesを使用します。これらのキューを使用すると、基本的にローカルのプッシュされていないコミットを編集したり、並べ替えたり、いくつかのパッチを単一のパッチに折りたたんだり、1 つのコミットを小さな読み取り可能なチャンクに分割したりできます。詳細を読む前に、それらの使用方法に関する私の提案を次に示します。

  • あなたはいつもの仕事をします。コミットは同僚に見られないため、自分の個人的な基準に従って、必要に応じて小さな簡単なコミットを行ってください。必要に応じてビルドを中断し、やりたいことを何でもしてください。
  • 4780 行の長いパッチの全体像を把握したら、一時停止します。
  • Mercurial キューにローカル コミットをインポートします。
  • 連続するコミットをローカルで確認し、「これを読めるようにするにはどうすればよいか?」と自問してください。たとえば、同じ機能に対するコミットのグループを識別します。または、同じ問題を修正するための複数の試行。
  • 意味のあるコミット グループを特定したら、パッチを並べ替えます (コミットを並べ替える: これが Mercurial キューでできることです)。この後、fold同様のパッチをまとめます。たとえば、n、n+1、n+2 を連続して試行した場合、n+1 は n を部分的に元に戻し、n+1 はタイプミスのワンライナーです... 3 つのコミットを 1 つの意味のあるコミットにマージするだけです」このコミットは、これとあれを行う問題 #1212313 を完全に修正します。
  • コミットの山/キューを再編成すると、一連の小さな意味のあるパッチが作成されます。小さいので読みやすいです。意味のある一連のパッチを同僚に提出するだけです。各パッチがクリーンで小さく、1 つの問題に対処している場合、レビュー時間は非常に短くなります。
于 2009-06-13T14:37:48.090 に答える