人工智能正在彻底改变软件开发,使其更加高效、富有成效和创新。在本文中,我们探讨了人工智能在软件开发中的影响,深入探讨了 ELEKS 研发团队对 GitHub Copilot 进行的调查中获得的见解。
随着软件开发世界的不断发展,人工智能的作用变得越来越重要。凭借减少编码所需的时间和精力等优势,人工智能在软件开发中成为当今的热门话题也就不足为奇了。
92% 的美国开发者已经在工作中和工作外使用人工智能编码工具。 - GitHub
70% 的开发人员认为,人工智能编码工具将为他们的专业工作带来明显的优势,包括提高代码质量、缩短完成时间和增强事件解决能力。 - GitHub
五分之四的开发人员希望人工智能编码工具能够使他们的团队更具协作性。 - GitHub
虽然人工智能还没有达到无需人工输入即可独立创建、测试和推出软件产品的阶段,但与过去相比,它已经大大加快了整体周转时间。
许多人工智能驱动的工具可以通过生成和自动完成代码以及检测和修复错误来帮助开发自定义应用程序。 ELEKS 研发团队彻底评估了这样一个工具 - GitHub Copilot - 评估其对开发人员任务、完成持续时间以及所提供建议的质量标准的影响。让我们仔细看看。
GitHub Copilot 是一个代码自动完成和生成工具。它基于 OpenAI Codex 构建,并在公共 GitHub 存储库上进行训练。因此,它可以为任何编程语言提供代码建议。然而,提案的质量取决于基于特定编程语言和框架的公共存储库的数量。
GitHub Copilot 使用集成开发环境 (IDE) 插件处理程序代码。目前仅支持以下 IDE:
本调查旨在探讨使用 Copilot 对开发速度和质量的影响。
为了进行这项研究,启动了一个小型宠物项目作为各种假设的测试场。我们的团队由四名熟练的中级开发人员组成,他们拥有 React、Redux、TypeScript、Jest、Vite、PHP、Symfony 和 Codeception 方面的专业知识,我们开始了调查,并定义了我们的目标和方法如下。
目标 | 方法 |
---|---|
使用 Copilot 时评估开发人员的能力和绩效之间的依赖性 | 我们选择Symfony框架进行后端开发。后端团队对该框架没有丰富的经验。 |
调查对典型开发人员任务的影响 | 在项目开始之前,我们创建了一个 WBS,涵盖了商业项目中开发人员的典型工作。此外,我们还进行了任务评估会议。 |
调查受欢迎程度对编程语言和框架的影响 | 我们开发了一个具有测试覆盖率的 Web 应用程序。 |
评估对任务完成时间的影响 | 我们对项目的各个任务进行了初步估计。 |
提升研究成效 | 我们在每日同步期间在团队内进行了知识共享会议。 |
探索建议的质量 | 我们测试了 Copilot 如何处理非经典且更复杂的项目结构。 |
ELEKS 对 GitHub Copilot 的调查得出了几项重要发现,揭示了该工具的功能和优势。这是更详细的描述:
请注意,调查结果基于团队的主观反馈、对其工作的观察以及对其解决方案的代码审查。
团队成员的生产力平均提高 5-10%。 - ELEKS研发团队
顺便说一句,在项目过程中,团队在 GitHub Copilot 中遇到了几个错误。例如,Copilot 根据在另一个 IDE 窗口中打开的另一个项目的代码提出了代码建议。它提供了语法错误的代码。 Copilot 与某些也具有代码自动完成功能的插件(内置或由第三方添加)的功能冲突。
GitHub Copilot 是一个强大的工具,可以对开发速度和开发人员工作满意度产生积极影响。与任何其他开发工具一样,它需要时间来掌握。
目前,个人每月许可证费用仅为 10 美元,而商业计划的价格为每月 19 美元。 GitHub Copilot 对于项目的使用无疑会带来经济效益,特别是对于中等及以上能力水平的专家而言。
该团队预测,随着 GitHub Copilot 使用经验的增长,开发速度可以提高 5-25%,具体取决于技术的普及程度和开发人员的能力水平。 GitHub Copilot 保证不会减慢开发速度,因为开发人员将逐渐获得专业知识并了解何时使用该工具有益、何时不有益。
总之,人工智能对软件开发的影响是不可否认的,例如 GitHub Copilot 等工具。总体而言,GitHub Copilot 等工具无法取代开发人员,但可以作为提高开发人员舒适度和生产力的宝贵工具,为日益人工智能驱动的世界中的软件开发发展做出贡献。
开启高效软件开发流程和成功成果的道路, 请联系 ELEKS 专家。
也发布在这里。