ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Xcodeにおけるコードレビューと共同作業
Xcodeにおけるコードレビューとプルリクエストの最新の機能強化について検証します。diffの表示設定、コミットセレクタ、チェンジナビゲータ、プルリクエストのワークフローについて詳しく説明します。コードレビューやPRのワークフローをソースコードに直接接続することで、チームとのコラボレーションやリグレッションの発見が可能になることを紹介します。
リソース
関連ビデオ
WWDC21
-
ダウンロード
【キーラン】みなさん こんにちは 私はキーランです ソース管理技術に取り組む Xcodeエンジニアです Xcode 13ではコード レビューモードが一新され 全く新しいコラボレーション ワークフローが導入され Appの品質向上に 役立ちます このセッションでは 当社の Fruta Appを使った 一般的なワークフローを 紹介します Xcode 13の 新しいコードレビューと プルリクエスト機能を使って バグを見つけ フィードバックを受け取り その変更を統合し 同僚にフィードバックを 提供します では 始めましょう 私がしている主な仕事は ユーザーからの 報告された問題を 調査することです バグを修正するためには まず いつ そしてなぜ バグが発生したのかを 理解する必要があります コードレビューモードを使い 自分が変更したコードを 過去に戻って確認することで 原因を突き止められます App Storeの レビューの中に Appに最近加えられた UIの変更が おかしいとの 指摘がありました 何が問題なのかは 大体わかったので さっそく 修正してみます 入力を開始すると ソースエディタのガターに 変更内容が 表示されます 以前の値を知ることで 変更点をすべて 把握することができるので とても便利です そのために コードレビュー モードに まず行きます エディタバーの 「コードレビュー」ボタンを クリックするだけで 最新のリビジョンに対する ローカル編集の比較を 確認できます
画面上で作業している間 コードレビューモードは 私が行っている編集を 継続的に強調表示します 最新のコミットから何が変更 されたかが常にわかるのです
1つのファイルに複数の 編集を加えた場合 ボトムバーにある ステッパーコントロールが 変更した回数を 示してくれます 矢印のアイコンをクリックで 変更したコード間を飛びます そうすれば 自分でした 編集内容を探すために ファイルをスクロールする 必要がありません 時には 何が変わったかを 横に並べて見る方が 簡単な場合もありますが 私は自分の変更点を 一列に並べて 確認する方を好みます Xcodeでは どちらの スタイルでも変更内容を 表示することができ 右上の Editorメニューを使って 2つのスタイルを 切り替えることができます UIのバグに関する すべての問題を確実に 把握しておきたいと 思います バグの原因を突き止めるため に Appのリリースごとで 何が変わったのかを 確認する必要があります ボトムバーにあるコミット コントロールを使って それらの比較を設定 することができます Xcode 13では ブランチ タグ 最近の場所にわたって コミットを選択できます そのため 任意の 2つの時点での Appの変更を簡単に 確認することができます 私は通常 TestFlightsまたは App Storeに投稿するたびに リリースブランチを 切ります 今回は そのリリースに 関連した私のコードの 2つのバージョンを 見てみましょう
コミットを選択すると Xcodeはドキュメントの 過去の2つのバージョンの 比較を表示します ボトムバーに表示されている コミットに合わせて ハイライトの色が 紫とオレンジに変わります 従来通り ステッパーを コントロールすることで 変更を切り替える ことができます
インラインやサイドバイ サイドで比較できます この比較検討が 終わったら ボトムバーの リセットボタンを使って 最新の変更内容に すぐに戻ることができます 通常 私がAppに 加える変更は 複数のファイルに またがっています 1つのファイルの変更点を 調べるのはとても便利ですが プロジェクト全体で 変更した すべてのファイルの概要を 知りたいことがよくあります ソース管理ナビゲーターの 新規変更タブのおかげで 前回の コミット以降に変更した ファイルの一覧を 見ることができます いずれかのファイルを クリックすると 自動的にコードレビュー モードに入り そのファイルで行った変更を すべて表示します 私は 他の編集をしたことを すぐに思い出すために ファイルを 切り替えたいのです これで私たちのAppで 材料を表示する際に 問題が発生する原因が わかったので この問題を解決するために 私の変更を加えた 新しいブランチを 作成します ブランチを作って切り替える ことはよく行うことですが Xcode 13にはそのための 見事な新しい方法があります Xcodeのツールバーには 現在のブランチが表示され 最後に作業していた内容を 思い出すのに便利です これをクリックすると 最近作業したブランチ同士を すぐに切り替えることが できます 今回は セカンダリ メニューを使用して 修正用のブランチを 作成します
コードレビューモードで 履歴を調べた結果 バグの修正方法を 思いつくことができました 現在 私は解決策を 提案していますが コード変更に対するフィード バックを得たいと思います 私はこの分野のコードベース にあまり詳しくないので 私の変更によって他の問題が 発生しないことを チームメイトに確認して もらいたいのです コードの変更を仲間と 協力して行うには プルリクエストを 作成します Xcode 13では GitHubとBitbucket Serverを 新たに統合して サポートしているので すぐに実行できます ソースコントロールの ポップオーバーから プルリクエストを 作成することができます Xcodeは 私のブランチ をデフォルトの 上流ブランチに マージするための プルリクエストの ドラフトを作成します 今回ブランチは メインです プルリクエストの公開前に 修正点に関する情報を 準備することができます 自分のブランチにコミット してプッシュした変更点は 変更ナビゲーターの プルリクエストセクションに 表示され すでに公開された変更も含む 変更のプレビューを 見ることができます Local Changes分野では 私がコミットして プッシュするまで プルリクエストに 含まれないファイルを 確認することができます プルリクエストの内容に 納得したら タイトルと説明を つけます
特に何人かのチームメイトに この変更を 確認してもらいたい のです そこで 参加者ボタンをクリックして レビュアーとして タグ付けします
フィードバックを待って 他のブランチに切り替えると Xcodeはどのプルリクエスト を表示するか判断します Xcodeは ソースブランチと 現在のブランチに基づいて 関連するプルリクエストを 決定します ブランチを切り替えると 既存のプルリクエストを Xcodeは自動的に検出します 少し前にプルリクエストを 公開しましたが その後 チームから フィードバックがありました では その様子を 見てみましょう 変更ナビゲーターで プルリクエストを選択すると 自分のプルリクエストの 概要と プルリクエストを 公開してから起こったことが すべてわかります チームは私のコードに対する フィードバックを残しました 希望すれば この議論に 返信することができます また 変更の表示をクリック するとコードレビューモードで ファイルに直接 アクセスできます
そこでマット氏からの 素晴らしい提案があります 私たちはようやく Xcode上で 私の プルリクエストに関する会話 を行いそれをソースコードに 直接つなげることが できるようになりました 順調にはかどり フィードバックに応じて プルリクエストを 更新しました 今 チームメイトが 残したコメントを見ると 私の最新の変更に 賛同してくれているようです 同僚がこのプルリクエストを 承認したことがわかります あとは 継続的インテグレーション ワークフローの ステータスを 確認するだけです Xcode Cloudを使用して いるのでプルリクエストの CIポップオーバー内で 継続的インテグレーション ワークフローのステータスを 確認することもできます テスト結果の概要を すぐに見ることができ エントリをクリックすると 詳細なXcode Cloudレポート に直接移動できます Xcode CloudとCIでの コードの実行の 詳細については 「Xcode Cloudについて」 のセッションをご覧ください では チームメイトが私の 変更をすべて承認し Xcode Cloudの作業が すべてうまくいったので プルリクエストをマージする 準備ができました プルリクエストアクションを 使いを選択します Xcodeでは 変更を ターゲットブランチに どのように 統合するかを決める マージ戦略を 選択することができます ここではデフォルトの Merge Commitを選択します 任意でコミットメッセージを 入力することもできますが そのままに しておきます 順調に進んでいるようなので それではマージします
自分のプルリクエストを マージしたので そろそろ他の作業に 切り替えようと思います 私が仲間に フィードバックを 求めることが 役に立つように 彼らも私に変更点の確認を 求めることが多いのです
ソース管理の ポップオーバーでは 最近作業したブランチに加え 自分に関連のある プルリクエストも 表示されます 自分が作成した プルリクエストが 表示されますが チーム メイトがレビューを依頼した プルリクエストも Xcodeに表示されます ソース管理 ポップオーバーを見ると チームメイトの一人がまさに 私にそのように 依頼しているようです 彼らのブランチを確認して レビューしてみましょう 私自身のプルリクエストと 同じように 私がタグ付けされてからは 彼の概要 レビュー状況 チームメイトの プルリクエストの ディスカッションなどを 見ることができます その変化を 見てみましょう プルリクエストノードの下の 変更ナビゲーターで ファイルを順に 見ていきます
これをクリックするとコード レビューモードに切り替わり プルリクエストが マージされた場合に 適用される変更点が 表示されます セカンダリクリックして エディター内で彼に コメントを残すことが できます そしてその行に 新しいコメントを挿入します 彼のコードには改善の 余地があると思うので チームメイトに メモを残しておきましょう
私のフィードバックは 非常に些細なものだったので このプルリクエストは 問題なさそうです 右上のアクションを使って 承認します
Xcode 13では コードを 評価したり 仲間と協力する 新たな素晴らしい方法を 提供します コードレビューモードは Appのソースコードが 時間の経過とともに どのように変化したかを 把握することで Appの問題や 動作の変化を調査するための 強力なツールです コードレビューモードでは 新しい インライン プレゼンテーションモードと 比較オプションが追加され 作業に柔軟に対応します プルリクエストでは メイン ブランチにマージする前に チームの変更に対してコード のフィードバックを与えたり 受け取ったりすることで チームと協力して Appのコード品質を向上 させることができます 議論の内容はAppのソース コードに反映されるので チームワークが開発プロセス の まさに要になります ありがとうございました 素敵なWWDC とショーを [パーカッシブな音楽]
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。