AI辅助编程实战
上QQ阅读APP看书,第一时间看更新

1.3.1 最小化搜索

开发者时常会陷入数字迷宫,追踪棘手的软件错误或解密复杂的代码逻辑。面对困境,他们通常会求助于Google或Stack Overflow,输入代码片段进行搜索,然后迅速返回IDE中继续工作。

但有些时候,搜索过程仿佛一场漫长的马拉松。Stack Overflow上的讨论可能令人一头雾水,即使不断搜索,似乎也找不到正确的答案。然而,偶尔会有某个讨论给予启发,于是深入研究相关主题,甚至可能在YouTube上观看教学视频。经过30多分钟的苦苦思索,最终找到解决方案。

所有开发者都经历过这种挑战。事实上,Stack Overflow在2022年的《开发者调查报告》(涵盖70 000多名开发者)中强调了搜索答案的挫败感。该报告显示,62%的受访者在搜索答案上每天花费超过30分钟,而25%的受访者更是超过1小时。对于一个拥有50名成员的开发团队,每周因搜索答案/解决方案而损失的时间达到333~651小时。

现在,如果有一种方法可以穿越耗时的搜索,迅速找到解决方案,那会怎样呢?我们的闪亮算法骑士——AI辅助编程登场。微软的研究证明:90%以上使用GitHub Copilot的开发者能以更快的速度完成任务。

为了验证这一点,微软进行了一次编程实验。他们招募了95名专业开发者,并将这些开发者分为两组,要求他们用JavaScript开发HTTP服务器。结果显示,使用GitHub Copilot的开发者完成任务的速度比不使用该工具的开发者快55%。

不仅是微软,麦肯锡公司也进行了一项研究。他们调查了来自美洲和亚洲的40多名开发者,这些开发者的经验和背景各不相同。在数周内,他们完成了3项常见的软件任务——代码生成、重构和文档编写。

研究结果表明,在保持文档和代码的整洁性方面,AI辅助编程工具表现出色,所需时间减少了近一半。而在编写新代码和重构代码方面,使用AI辅助编程工具所花费的时间与传统方法几乎相同。然而,对于特别复杂的任务,AI辅助编程工具的优势并不明显,仅缩短了不到10%的时间。

有趣的是,研究还发现,尽管AI辅助编程工具缩短了完成任务的时间,但并未对代码的整体质量(如错误率、可读性和可维护性)产生负面影响。实际上,随着开发者逐渐熟悉并使用这些工具,代码质量还得到了边际提升。

麦肯锡公司的研究为我们揭示了AI辅助编程的潜力,并为未来开发提供了一些宝贵的启示。

优化日常任务流程

AI辅助编程工具极大地简化了琐碎任务的处理,如自动填充代码、实时提供代码建议以及自动生成代码文档。通过这些方式,它们为开发者释放了宝贵的时间,使他们能够更专注于解决复杂的业务问题,并加速软件功能的部署。

激发代码创作的灵感

面对空白的代码编辑器,许多开发者可能会感到无从下手。然而,借助AI生成工具,开发者可以在IDE中,或仅仅通过简单的提示,迅速获得有价值的代码建议,从而激发创造灵感,迅速进入高效的编程状态。

高效调整与优化现有代码

通过智能提示,开发者能够更迅速地对现有代码进行调整和优化。他们可以轻松地从在线库中检索代码片段,输入提示框中,并基于特定标准请求AI进行迭代性调整。

增强对新挑战的适应力

当面对新的编程环境或编程语言时,AI辅助编程工具就像一位经验丰富的导师,可以帮助开发者快速熟悉并掌握新知识。它们能够清晰地解释新概念,分析各种代码库,并提供全面的框架使用指南。

整合多种工具以提升效率

研究表明,结合使用多种工具能够显著提升工作效率。例如,开发者可以使用一款工具进行代码提示或聊天交流,同时将另一款工具作为代码库的一部分,由其提供智能自动完成选项和建议。这些工具在协作中展现出惊人的能力。在代码重构过程中,第一款工具因其灵活的对话特性,在处理查询时表现出色;而第二款工具则在生成新代码方面表现高效,并能与IDE无缝对接。当这些工具协同工作时,开发者观察到的时间效率提升高达1.5~2.5倍。