在GitHub中引入Amazon Q Developer的交互式代码审查体验
代码审查是软件开发中最有价值的环节之一。它有助于确保质量、保持一致性并促进工程师成长。但这也是软件开发生命周期中最耗时的步骤之一。常见的模式是开发人员打开拉取请求(PR),收到自动或同行评论,然后需要查阅文档、Slack讨论记录或旧代码才能理解建议修改的原因。这种寻找缺失上下文的过程会产生摩擦,拖慢团队进度,增加来回沟通的周期,并常常分散构建优秀产品的注意力。
在初始预览体验中,团队在GitHub的问题和PR中使用Amazon Q Developer进行功能开发、自动代码审查和常见现代化任务。这使工作保持在GitHub内部并减少了交接。对新创建或重新打开的PR进行自动审查可及早发现问题,但团队仍希望在PR中获得更多上下文和更紧密的闭环。
今天我们为PR引入了交互式代码审查体验。您可以使用/q向Amazon Q Developer询问任何发现的详细信息,查看带线程化发现的简明摘要,并在不离开GitHub的情况下应用建议的更改。Amazon Q Developer的代码审查现在比以往完成得更快,这减少了等待时间并缩短了审查周期,使团队能够更快合并并花更多时间进行构建。
新功能及其重要性
拉取请求中的交互式对话:使用/q评论获取内联答案,或要求Amazon Q Developer提出可在PR中应用的代码更改。例如:/q explain this finding 或 /q propose a change that replaces class toggles with a data attribute for state。
带线程化发现的代码审查摘要:每次代码审查都以简明摘要开始,发现结果以线程形式排列在下方。这使得更新更易于跟踪并减少干扰。
更快的执行和更清晰的通知:Amazon Q Developer更快完成分析,通知更有条理且更易于扫描。这减少了等待时间并缩短了审查周期。当您创建或打开新PR时,如果在Amazon Q Developer控制台中为GitHub安装启用了代码审查功能,Amazon Q Developer会自动开始代码审查。后续提交不会触发另一次自动审查。要运行全新分析,请在PR上发布/q review作为新评论。
在GitHub中开始使用Amazon Q Developer
要开始使用,请在您的GitHub组织或仓库中安装Amazon Q Developer GitHub应用。该应用可通过GitHub Marketplace获取,在预览期间无需AWS账户即可使用。安装期间,您可以选择是提供对所有仓库的访问权限还是仅对GitHub组织中的选定仓库提供访问权限。您可以通过在Amazon Q Developer控制台中注册应用安装来增加免费使用量。
有关安装、权限和配置选项的更多详细信息,请参阅Amazon Q Developer for GitHub文档。安装应用后,您即可开始使用Q Developer自动审查PR。
在拉取请求中使用Amazon Q Developer
为了更深入理解,以下是使用我使用Amazon Q Developer构建的简单卡牌游戏演示新交互式代码审查体验的端到端演练:
- 创建新拉取请求:在此示例中,我首先创建了一个名为
demo的功能分支,向JavaScript和HTML卡牌游戏应用添加了tailwind.css文件,推送了分支,并打开了PR进行审查。 - Amazon Q Developer自动开始代码审查:分析了代码质量、潜在问题和对最佳实践的遵守情况。顶部出现简明摘要,个别发现以线程形式排列在下方。这让我在一个地方同时了解了大局和细节。
- 审查摘要和发现结果:我审查了摘要和线程化发现,以决定首先处理哪个更改。同时看到原理和标出的具体行意味着我知道从哪里开始,而无需在文件中搜寻。
- 使用
/q寻求澄清:其中一个发现建议在我的卡牌游戏应用中使用state属性跟踪卡牌状态。因此我要求Q Developer澄清。它迅速回应了具体上下文和提示,减少了来回沟通并提高了审查质量。 - 继续对话(如需要):我审查了Q Developer的建议,并回复表示我更喜欢另一种方法,Q Developer迅速返回了我可以在PR中应用的完整实现。
- 应用修复:审查实现建议后,我单击“Commit suggestion”在PR分支上创建新提交,并将我的用户名作为作者。
- 重新运行审查:我的示例不需要此操作,但如果您推送了其他更改,可以通过发布
/q review作为新的顶级评论来运行全新分析。Q Developer将运行审查并发布更新后的发现。
代码审查完成且检查通过后,我进行了合并。新的交互式代码审查体验减少了等待时间和审查周期,并使每个发现和建议更改背后的“原因”变得清晰。
结论
适用于GitHub的Amazon Q Developer今日以预览版提供。无论您是独立开发人员还是大型工程团队的一员,此更新都有助于您以更少的周期交付更清晰的代码,并使代码审查成为值得期待而非回避的事情。
在您的下一个PR上尝试一下。输入/q,提出问题,看看更智能的对话式审查如何改变您的工作流程。