自动化工具可以减轻开发人员检查AI编写的每一行代码的压力,减少困扰企业的技术债务。
译自 Code Quality Becomes Even More Vital in the AI Era,作者 Jonathan Vila。
开发人员及其所在组织正处于僵局。随着软件对业务变得越来越重要,这些技术专家承担着比以往任何时候都编写更多代码的任务。虽然人工智能工具在满足这些需求方面发挥了重要作用,但人们对它们将如何影响我们所知的开发人员角色表示担忧。
去年,一项调查发现71%的开发人员担心人工智能会完全取代他们的工作,其中40%的人认为这种变化会很快发生。然而,如果使用得当,人工智能能够使开发人员提高技能并提高工作效率。通过合适的工具、安全措施和减轻错误的技术,开发人员将能够拥抱人工智能的代码编写能力,将其作为他们系统设计和架构的补充。
人工智能允许开发人员专注于优先工作,而不是执行传统的、耗时的例行代码编写任务。事实上,开发人员每周实际编写新代码的时间不到五个小时。一个未来,开发人员拥抱而不是害怕人工智能,取决于是否采用了合适的工具来检查人工智能生成的代码的质量。值得信赖的自动化工具允许开发人员确保代码无错误,同时通过在软件开发生命周期 (SDLC) 的早期发现错误并在其成为问题之前修复它们来增强软件安全性。
自动化工具可以帮助减轻开发人员检查人工智能编写的每一行代码的压力,这反过来可以减少困扰企业并拖累当今开发团队的技术债务。研究表明,低质量代码的估计成本为2.4万亿美元,而这仅仅是在美国。减少与这些成本相关的技术债务的唯一方法是避免首先积累它。总的来说,认真考虑降低成本和提高收入的企业必须将高质量代码视为一种手段。
人工智能生成的代码是每个组织都在努力应对对新软件日益增长的需求的现实。开发人员根本无法独自应对这一需求。据谷歌首席执行官桑达尔·皮查伊说,超过25%的谷歌新代码现在是由人工智能编写的。
开发人员明白软件质量始于代码级别。低质量代码带有风险和漏洞,并威胁到企业的声誉和利润。随着开发人员被期望编写比以往任何时候都更多的代码以增强组织的软件输出,并转向人工智能编码工具寻求支持,他们还必须保持警惕,确保代码质量,尤其是在涉及人工智能的情况下。
虽然2024年1月美国雇用的软件开发人员比2018年少,但IDC预测,到2026年,绝大多数组织(超过90%)将感受到其所谓的“IT技能危机”的痛苦。这意味着,虽然组织对开发人员的需求越来越大,但他们不一定能够满足这种需求。
人工智能对于增强开发人员的工作流程至关重要,但现实情况是,代码数量增加一倍意味着可能出现的错误也增加一倍。事实上,斯坦福大学的研究表明,可以使用人工智能编码助手进行开发的开发人员编写的代码安全性明显较低。
编写的代码越多,就需要对这些代码进行更多审查以确保软件质量。解决这些问题的方案在于为开发人员配备值得信赖的自动化工具,以帮助进行代码质量保证。
组织需要为开发人员提供合适的工具,以确保AI生成代码的质量。代码质量和安全工具符合开发人员的需求,使他们能够充分利用自己的知识和经验,并允许他们在问题演变成更大的问题之前发现代码中的问题,尤其是在AI生成的代码中。
在集成开发环境 (IDE) 中开始审查代码并在整个CI/CD过程中持续扫描代码的工具是开发人员确保其代码一致、可维护、可靠和安全的最佳方法。这些工具是开发人员对抗劣质代码的最佳武器,使他们能够专注于高影响力和优先级的工作。
开发人员发现问题的时间越晚,问题就越难以处理。劣质代码会产生多米诺骨牌效应,变得越来越昂贵且难以解决。自动化工具提供更早的保障措施,防止代码中的错误和缺陷在以后变得更严重。
通过在其工作流程中实施正确的自动化解决方案,开发人员和组织可以确保所有代码(AI生成的和人工开发的)都经过了彻底的扫描以查找问题,并且使用AI工具的项目符合高质量和安全标准。
专家们理解“左移”方法,即在SDLC早期进行软件分析和审查,但这方法还不够。“左移”则意味着开发人员从SDLC一开始就使用可信赖的工具,在过程中发现错误并在问题演变成长期复杂问题之前对其进行修复。
自动化工具对于“左移”方法至关重要。它们确保软件的早期质量,减少技术债务并增强开发人员的工作体验。尤其是在编码中广泛采用AI的情况下,“左移”方法对于信任代码质量是必要的。AI编码助手在提高软件产量方面可能非常有价值,但不能在没有任何形式的验证和质量保证的情况下运行。开发人员熟悉并信任的自动化工具可以帮助实现这一目标。
虽然AI已经融入开发人员的工作流程中,但我们仍在了解这究竟意味着什么。集成AI工具不会取代开发人员,但肯定会改变他们的工作方式。其中一些变化将要求开发人员提高技能,最终提升他们的职业生涯,并使他们成为组织更大的资产。Gartner报告称,80%的IT运营和工程人员需要提高技能才能有效地在工作中使用AI。
此外,通过让AI承担那些容易浪费时间的单调工作,开发人员将能够专注于需要批判性思维和创造力的任务,最终对业务产生更大的影响。
将生成式AI与代码质量和安全工具(例如SonarQube(SonarQube Server、SonarQube Cloud、SonarQube for IDE))相结合,开发人员可以借助AI辅助显著提高生产力,同时确保其代码保持安全和稳定,并防止劣质代码进入生产环境。