欢迎光临
我们一直在努力
您的位置:首页>科技前沿 >

新西兰初创公司寻求自动化代码审查

软件开发人员是力量倍增器。然而,软件开发人员不是花时间构建新产品或服务,而是在维护现有代码上浪费太多。

CodeLingo是一家成立于2016年的新西兰创业公司,旨在改变这种状况。该公司开发了一种自动代码审查工具,可以捕获代码中的新问题和现有问题。CodeLingo的搜索引擎和查询语言在代码库中查找模式,并使用这些模式自动执行代码审查,代码重构(重构现有代码以优化代码)和贡献者文档。

根据Stripe 2018年的一项研究,开发商可以在未来10年内将全球GDP增加3万亿美元。但开发人员花费了近一半的工作时间 - 平均每周工作时间为17小时 - 代码维护。这包括查找和修复错误,修复错误代码和重构。这相当于每年估计有3000亿美元的生产力损失。

CodeLingo希望能够重新获得一些损失,因此可以将其用于重要事项。“CodeLingo是,在本质上,分析平台,”创始人杰西·米克。“它将整个软件堆栈视为数据,然后查找该数据中的模式以及自动执行常见开发工作流程的方法,例如查找和修复错误,自动重构代码库,在进入存储库时自动审查拉取请求,并自动生成贡献者文档。“

为了将软件堆栈表示为数据,CodeLingo将其提取并转换为顶点和边,然后将其加载到图形中。该平台使用公司称之为原则的定制搜索工具来扫描图表中的模式,然后执行过去与这些模式相关联的操作,例如添加代码审查注释和文档行,或重写代码。“CodeLingo基本上是图形的查询引擎,”Meek说。

该公司表示,该宗旨是CodeLingo中“指导工作流程的基本原则”。它定义了团队的编码标准和最佳实践。它本质上是一种用CodeLingo的自定义查询语言CLQL(CodeLingo查询语言)编写的查询模式,并附加到某些工作流程以自动化它们。CodeLingo提供了可应用于现有代码的现有tenet 捆绑包,但开发人员也可以编写自己的代码。

自动化软件开发工作流程可以加快编码过程。“避免手动代码审查是省时的。如果程序员能够专注于代码开发,代码将更快地生成,“ 西班牙国家癌症研究中心的计算机科学家Diana de la Iglesia 说。

对于日本索尼计算机科学实验室的研究员Lana Sinapayen来说,自动化工具的优势是双重的。“它迫使团队明确隐含假设('我们使用驼峰案例'或'应该使用此函数而不是其他函数')并自动执行这些共享假设。”

但她补充说,挑战在于你可能会花费更多的时间来使用这个工具而不是你手头的任务。“你必须编写和维护规则,告诉工具该做什么,这构成了开销时间,”她说。

根据Meek的说法,CodeLingo与其他代码质量方法的不同之处在于它在泛型和特定之间的平衡。“在中间可编码的知识和实践中,有一个最佳点,它们保证自动化,但具体到足以让你无法在现成的解决方案中找到它们,”他说。

这就是CodeLingo所处的位置,结合了linters -tools的通用功能,用于分析特定编程语言中的代码以获取错误 - 以及代码审查的特殊性,以允许软件开发团队在不牺牲代码质量的情况下进行扩展。

但是团队仍然不应该单靠工具。de la Iglesia说:“一种混合方法,开发人员承诺生成干净的代码,遵循标准的编码风格指南,并坚持良好的做法,同时从CodeLingo等工具获得额外的支持将是理想的。”

虽然CodeLingo仍然处于测试阶段,但它已经帮助修复了包括百度,Dropbox,HelloFresh,Kubernetes和Sky UK 在内的公司代码库中的错误。在2019年3月,该团队发起了一场提高认识活动,他们在这些活动中查看了少数GitHub存储库中的过去问题,并免费为他们编写了原则。该公司正处于其竞选活动的最后阶段,并将收集指标以推动种子基金轮次。

Meek说,对于他们接触到的每五个存储库,四个接受CodeLingo的变化并表达对他们能做什么的兴趣。该平台每周经历了50%的增长,最多有350名用户和3,000个存储库安装他们的工具。

目前,CodeLingo专注于提高其平台的稳定性和性能,但该团队希望进一步扩展该系统。“有两种增长载体。一个是查询引擎本身 - 查询引擎中语言的可表达性以及我们存储的原则。另一个是我们可以查询的数据域,“Meek说。这意味着扩展系统的功能不仅可以查询代码,还可以处理版本控制和运行时信息。“随着我们平台容量的成熟,它不仅可以让您深入了解基础设施的一个单元是如何工作的,还可以了解整个生态系统如何融合在一起,”他说。

Meek设想CodeLingo是一种可以持续保持高标准的工具。“无论你是一个两人周末团队还是一个500人的强大开发团队,你都可以做得更好,”他说。“这就是我们希望与之合作的团队 - 那些一直希望提高自己质量标准的团队,CodeLingo支持更高的标准。”

免责声明:本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除。