作者 | Eran Yahav
编译 | 言征
出品 | 51CTO技术栈(微信号:blog51cto)
时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44% 的专业开发人员已经在其软件开发过程中使用AI工具,另据一些报告称,到 2025 年底,这一数字将增加一倍以上。
这个采用速度(假如采用占比达到88%),对于软件开发领域而言,已经足够说明开发者对于AI工具的喜爱。
到现在如果才说“人工智能将改变一切”已经过时了。
开发者对于新技术而言,往往都是第一批早期采用者,是当之无愧的极客先锋。
他们看到AI时,就预知到生产力会得到提高。
令人意外地是,“人工智能编码助手”这个绰号远远低估了这个产品的好处。最新的产品远远超出了完成代码行的范畴,它还可以帮助开发人员讨论功能、设计用户体验、选择正确的库、应用正确的语法、运行临时测试等等——所有这一切都是通过类似于用户聊天时所享受的交互来完成的。
人工智能编码助手的优点在于,不管你是专家还是新手,即使是最熟练、最有经验的开发人员也都需要这位无所不知的神助攻。
对于专家而言,这位“AI智库”可以从广泛、深入、多样化的代码的巨大存储库中提出建议。
同样,那些刚接触软件开发的人可以在其特定任务的背景下受益于人工智能指导,加速他的学习过程,甚至使熟练的业务用户都能够构建应用程序。
人工智能编码工具可以自动执行许多任务,以至于开发人员可能会发现他们原来的一些技能将不再需要。但这没关系,因为许多工作都涉及到开发人员很乐意放弃的苦差事。
即使是最敏锐的开发人员也会花费大量时间通过 google 或 Stack Overflow 寻找各种细节。人工智能工具非常擅长快速呈现正确的信息——不仅可以提供 API 的正确语法等详细信息,还可以提供更广泛的提示,例如“这个函数的参数是什么?” 或“找到一个可以完成 XX 任务的组件。” 是的,开发人员需要验证人工智能的响应,但节省的时间和减少的乏味可能是惊人的。
敏捷开发方法已经要求开发人员应该在开发过程中进行测试,而不是在软件开发周期结束时进行测试。但这需要工作。人工智能编码助手使开发人员能够自动生成细粒度的测试,作为生成代码本身的副产品。出于同样的原因,编写文档的苦差事变得更加容易:人工智能编码助手可以仅根据代码提供组织良好的初稿。该文档并不完美(通常不包括解释设计选择的重要方面),但编辑它会比从头开始容易得多。人工智能让我们可以花更多时间来构建应用程序。
有了人工智能编码助手,负责维护代码的开发人员就不必仔细研究其他人的工作来了解他们最初想要做什么。开发者只需选择一段代码片段,然后让AI编码助手进行解释即可。
动态测试不仅可以捕获错误,人工智能编码助手还可以在潜在错误嵌入代码之前向开发人员发出警报。它们还允许开发人员简单地选择一段代码,由人工智能工具识别出错误或问题,并获得建议和应用的代码更改。安全缺陷也可以被识别,但请注意,人工智能编码助手并不能替代全面的安全测试。
尽管人工智能编码助手的用途远不止代码完成,但开发人员会欢迎能够消除编码中最冗余的方面。IDE 中的 AI 代码补全将自动填充类、函数和名称,从而消除重复任务。使用支持人工智能的工具创建软件意味着更少的繁琐任务和更多创造力。
于企业而言,AI编码助手可以使开发人员快速学习新领域,并填补组织最重要的软件开发工作中的人才缺口。
而于技术人员而言,AI编码助手可以快速完成开发人员最不喜欢做的任务,更重要的是,它们可以在开发人员工作时最需要的时刻显示重要信息。