通过Github Co-pilot成为2倍的开发者?

338 阅读6分钟

用AI加速你的开发工作流程

人工智能真的已经走过了很长的路,不是吗?我们已经看到它接管了各种重复性的任务,现在它甚至试图给我们的软件开发人员一个说法。但是,嘿,我们还没有完全成为多余的人!事实上,知道如何有效地使用人工智能工具确实可以使我们与那些不知道的人区分开来。

因此,在这篇文章中,我将分享我对GitHub Copilot的个人经验,并抛出一些我一路走来总结的技巧和窍门,以帮助你充分利用这个有趣的工具。让我们看看人工智能如何帮助我们提高编码水平,而不是取代我们

那么什么是Github Copilot?

它是一个超级方便的由人工智能驱动的编码助手,旨在使我们作为开发者的生活变得更加轻松。它的工作原理是预测你接下来要写的代码,并根据你的项目背景提供有用的建议。由于它在一个庞大的公共代码数据集上的训练,Copilot对不同的编程语言和库有相当好的理解,当你在一个项目上工作时,它可以真正地节省时间。这有点像有一个超级聪明的编码伙伴在你身边,在你前进的过程中提供有用的提示和建议,所以你可以花更多的时间专注于大局,而不是花时间在琐碎的细节。

无缝编码的便捷提示

技巧1:明确的函数名称

有效利用GitHub Copilot的一个重要方面是使用明确的函数名称,清楚地传达你的意图。由于人工智能模型是基于上下文工作的,因此有一个描述性的函数名称有助于Copilot更好地理解你想要实现的目标。这样一来,它提供的建议将更加准确,并与你的编码需求相关。通过在选择信息丰富的函数名称上投入一点额外的努力,你为Copilot提供了明确的指导,最终节省了时间,增强了你的开发工作流程。

image.png

在上面的例子中,Copilot有能力完成整个函数,而不需要任何进一步的指导。虽然这对简单的情况很有效,但对于更复杂的功能,并不总是建议让它来主导。原因是,Copilot可能偶尔会生成不正确的代码或不符合你具体要求的解决方案。因此,对于复杂的任务,最好是提供额外的指导或验证建议的代码,以确保它满足你的需求。

技巧2:对函数进行类型提示

假设我现在想按产品类别对产品数量进行求和。正如你在下面的代码片段中看到的,即使有一个明确的变量名称,Copilot也无法提供正确的代码建议。

image.png

仅仅依靠Copilot和点击tab键而不仔细检查它的输出,可能会导致你花更多的时间来调试,而不是你想要的。因此,在使用Copilot的建议时,必须保持警惕。

在这种情况下,如果你能提供明确的类型提示,将对副驾驶大有帮助。这有助于人工智能更好地理解你的意图,生成更准确的代码片段。

通过提供关于你的函数的预期输入和输出类型的具体信息,你给了Copilot更多的工作环境。下面是有了类型提示后的情况。

image.png

有趣的是,如果你能想出一个更好的方法来命名函数,副驾驶可以很好地抓住它:

image.png

所以,一开始一定要为变量起一个好的明确的名字,然后再进行类型提示。

技巧3:使用注释作为提示

我在GitHub Copilot中发现的最神奇的黑科技之一是使用注释作为提示,引导人工智能生成所需的代码。有时,你正在开发的功能可能过于复杂,无法在一个单一的功能名称中体现出来。在这种情况下,你可以使用注释作为提示,为Copilot提供更多的内容。这感觉就像与你的编码伙伴聊天,解释你的目标,并收到准确的建议作为回报。这种方法不仅提高了代码的可读性,而且还为开发过程增加了协作、互动和愉快的感觉!

想象一下这样一个场景:你需要创建一个图表,在同一个可视化中结合柱状图和饼状图。柱状图将按类别显示产品的总和,而饼状图将更清楚地表示分布情况。在一个单一的函数名称中抓住这样一个复杂函数的本质是相当有挑战性的。

image.png

正如预期的那样,Copilot无法生成我想要的确切代码。因此,为了使其发挥作用,我为该函数添加了一个文档字符串,并将该任务分解为较小的子任务,让Copilot来协助完成。在下面的代码片段中,我写了注释,而Copilot提供了代码:

image.png

通过上面的代码,它能够生成这样的图表:

image.png

局限性

当然,必须牢记,GitHub Copilot虽然很酷、很有帮助,但并不完美。它有其局限性,了解这些局限性对有效使用该工具至关重要。例如,我不得不谨慎地选择一些例子来展示我的学习成果,因为在有些情况下,GitHub Copilot可能无法提供理想的结果,而我们不得不退回到我们的好朋友Stack Overflow或谷歌。

总结

好了,让我们来总结一下。GitHub Copilot是一个非常有用的人工智能工具,可以大大提升你的编码体验。通过应用我在这篇文章中分享的技巧和窍门,我希望你会发现你的编码项目变得更加高效和愉快。

是的,它确实需要每月10美元的费用,但根据我的经验,它所节省的时间和精力使其成为一项值得的投资。这就像在你身边有一个编码伙伴,当事情变得复杂时,随时准备提供帮助。

然而,我只是另一个不断学习的开发者,我总是渴望从其他人那里获得洞察力。如果你有任何其他有效使用Copilot的技巧或窍门,请在下面的评论中分享。编码愉快,我迫不及待地想听到你的想法和反馈!