DeepSource自动修复的介绍

250 阅读2分钟

人类已经写了近半个世纪的代码,并让计算机做一些事情。我们已经将构建软件过程的大多数部分自动化了--持续测试和集成、交付、回滚、性能监控、实时安全监控等。然而,不知何故,编写代码的行为本身--以及审查它的客观错误--仍然是100%手工操作。

在DeepSource,我们相信不一定要这样。我们相信计算机应该能够自动发现和修复错误。我们在这方面已经工作了很长时间,现在我们几乎无法抑制我们的兴奋,向你展示我们所建立的东西。

介绍一下,Autofix

到目前为止,DeepSource已经能够发现你的代码中的问题--错误风险、反模式、性能问题和潜在的安全漏洞。从今天开始,DeepSource现在将能够自动为您修复其中的一些问题。我们称之为 "自动修复"。

现在你可以在版本库的问题仪表板上的一些问题上看到一个 "自动修复 "按钮。

Issue box with Autofix button

只需一次点击,你就可以选择并确认哪些文件要运行Autofix--这些文件中至少有一个问题被发现。Autofix将生成修复程序,并以差异格式向你展示这些变化,因此你可以选择你想应用的修复程序。

Autofix diff

再点击一下,DeepSource就会在你的VCS供应商(如GitHub或GitLab)上创建一个拉动请求,然后就可以合并了。

Autofix diff

在写这篇文章的时候,Autofix在Python中支持14个问题,在Go中支持21个。在未来的几周内,将为Python和Go添加更多的问题。在接下来的几个月里,我们的目标是将DeepSource检测到的所有问题中的至少30%纳入Autofix。

下一步是什么?

Autofix使我们在为自动化代码审查建立良好的开发人员体验的道路上又前进了一步。我们相信,软件开发的未来将包括计算机通过自动化过程中一切可以自动化的东西,帮助开发人员更好更快地编写代码。

从杰夫-贝索斯的游戏书中得到启发,这对我们来说是第一天。我们邀请你成为我们旅程的一部分,因为我们试图实现我们的愿景。