根据 GitHub 介绍,他们的 Copilot 应用程序是一个人工智能结对程序员,可以“帮助您更快地编写代码并减少工作量”。
GitHub Copilot提供是Visual Studio代码扩展,基于任一文档描述docstring,注释comment或功能名称function name生成代码。例如,您可以添加以下注释,Copilot 将生成适当的代码段:
// find all images and add a black border |
简单来说,您可以编写注释来描述您想要的功能,并且扩展会为您生成合适的代码。
人工智能会取代开发者吗?
尽管像 Copilot 这样的应用程序非常有用且功能强大,但我仍然相信我们远没有被它们取代。
在使用 GitHub Copilot 一段时间后,您可以看到它非常有限,并且并不总是想出合理的解决方案。
Copilot 等应用程序不会为您创建成熟的应用程序。例如,您不能提供诸如// build an e-commerce app(构建一个电子商务应用)。它甚至无法为您创建极其基本的 Express 服务器。
因此,对于复杂的场景,这些AI应用并不是很有用。但是,对于较小的任务和样板代码,它们非常有用。以下面这段代码为例:
function getDaysBetweenTwoDates(start, end) { const startDate = new Date(start); const endDate = new Date(end); |
const diff = endDate - startDate;
return Math.ceil(diff / (1000 * 60 * 60 * 24));
}
GitHub Copilot 生成了完整代码。我只提供了函数头 - function getDaysBetweenTwoDates(start, end) {- 其余的由扩展完成。如您所见,它对于此类任务非常有用。
这篇文章只是触及了表面,但还有其他一些事情需要考虑,例如:
- 代码的准确性如何?
- 代码有多安全?
- 生成的代码会起作用吗?
- 人们会不会在不理解的情况下盲目使用 Codepilot 编写的代码?
结论
在我看来,我不认为任何 AI 应用程序会很快取代开发人员。我宁愿将这些应用程序视为帮助我们更快地编写代码的额外工具。我认为它们是节省时间的工具。