Review code and collaborate in Xcode
Developer Tools 入门 20m

在 Xcode 中审查代码和协作

Review code and collaborate in Xcode

2021年6月10日

在 Apple 官方观看视频

一句话判断

Xcode 13 终于有了原生的 code review 工具——你可以在 Xcode 里完成大部分 GitHub PR 审查操作,不用再切到浏览器了。

这场 Session 讲了什么

Session 展示了 Xcode 13 中全新的代码审查功能。核心是在 Xcode 中直接连接 GitHub 或 GitLab 仓库,浏览 Pull Request(PR),查看文件差异(diff),添加行内评论,批准或请求修改——整个过程不需要离开 Xcode。

新的源代码管理导航器(Source Control Navigator)增加了 PR 列表视图,显示所有打开的 PR、作者、状态和审查进度。点击某个 PR 后,Xcode 会在编辑器中显示逐文件的 diff 视图,支持并排对比和内联对比两种模式。你可以在任意代码行上添加评论,评论会同步到 GitHub/GitLab。

还展示了在 Xcode 中直接 checkout 别人的 PR 分支进行本地测试的能力。这对于审查涉及 UI 变更或复杂逻辑的 PR 特别有用——光看 diff 不够,你需要跑起来看看效果。

值得深挖的点

本地 checkout PR 的价值

纯 Web 端的 code review 有一个根本缺陷:你只能看代码,不能跑代码。Xcode 13 允许你一键 checkout PR 的分支到本地,编译运行,看到真实效果。审查完切回自己的分支继续开发。这个流程对于 SwiftUI 的改动特别重要——ContentView 的 diff 看不出动画和布局是否正确,你需要跑起来在真机或模拟器上看。

审查流程的集成深度

Xcode 的 PR 审查不是简单的 diff 浏览器。它集成了编译器和静态分析器——在审查视图中就能看到编译警告和静态分析结果。这意味着你在审查代码时就能知道”这段代码有潜在问题”,而不是等合并后 CI 跑完才发现。

代码片段

在 Xcode 中浏览和审查 PR

// Source Control Navigator (Cmd+2) > Pull Requests 标签
// 显示所有打开的 PR 列表

// 点击某个 PR 后:
// 1. 查看 PR 描述和评论
// 2. 浏览改动的文件列表
// 3. 点击文件查看逐行 diff
// 4. 在任意行添加评论
// 5. 提交审查(Approve / Request Changes / Comment)

// checkout PR 到本地测试
// 点击 PR 列表中的 "Checkout" 按钮
// Xcode 切换到该分支,可以编译运行

添加行内评论

// 在 diff 视图中:
// 1. 点击某行代码左侧的 "+" 号
// 2. 输入评论内容
// 3. 可以 @ 其他团队成员
// 4. 点击 "Submit Review" 统一提交所有评论

// 评论会同步到 GitHub/GitLab 的 PR 页面
// 在 PR 页面上也能看到 Xcode 提交的评论

多人协作场景

// 团队工作流:
// 1. 开发者在 Xcode 中创建分支和 commit
// 2. 在 Source Control Navigator 中创建 PR
// 3. 审查者在 Xcode 中收到 PR 通知
// 4. 审查者 checkout PR,本地测试
// 5. 添加行内评论,提交审查
// 6. 作者修改后推送新 commit
// 7. 审查者 Approve,合并

// 所有操作在 Xcode 中完成,不需要打开浏览器

最佳实践

审查习惯: 把 Xcode 作为主要的 code review 工具。Web 端的审查适合快速扫一眼,但涉及逻辑变更或 UI 变更的 PR 应该在 Xcode 中 checkout 后审查。养成在审查时运行编译的习惯,利用 Xcode 的编译器警告辅助判断。

团队规范: 在 PR 描述中写清楚改动意图和测试步骤,方便审查者 checkout 后知道要验证什么。小型改动可以用 Web 审查,大型改动约定在 Xcode 中本地审查。

还有什么值得关注

  • Xcode 13 支持同时打开多个 PR 的 diff,方便交叉比较。
  • PR 列表支持按作者、状态、标签筛选。
  • 新的 Git staging 功能让你在 commit 前选择性地 stage 某些行的改动,不用整个文件提交。
WWDC 2021