如何使用 Copilot 折射代码

人工智能产品彻底改变了现代软件开发或编码。 利用人工智能,我们可以自动生成编程代码,并通过以下方式进行纠正和优化:代码重构。 在本文中,我们将探讨重构过程,看看如何使用 Copilot 折射代码

什么是代码重构?

在软件或应用程序开发中,代码重构是指在保持程序原有功能的情况下重构或重新排列程序源代码。 该过程旨在改进软件的结构和设计并降低复杂性。 AI与代码重构的结合,帮助我们及时发现软件性能问题,简化复杂算法,提高整体效率。

Copilot 如何帮助重构代码?

它可以分析代码的特定部分,并提供建议以将其结构改进为更清晰和用户友好的格式,以降低复杂性。 所提供的建议基于以下内容:

  • 确定现有代码的问题:Copilot 扫描整个代码文件,通过指出重复代码、未使用或不清楚的变量等来突出显示要重构的部分或区域。
  • 建议有效的选择:重构代码时,Copilot 会分析现有代码并提出有效的替代方案,这些替代方案可以产生相同的结果,但使代码看起来更干净。 这些建议包括有效使用语言来命名变量、方法和数据结构。
  • 确保代码可维护:实时反馈可以帮助我们避免包含任何错误。 这些建议通常基于编程原则的最佳实践,可以帮助维护正确的代码结构,使其他人更容易理解并在需要时修改相同的代码。

要使用 Copilot 进行重构,我们可以从安装 GitHub相关语言(VS Code、Python 等)的 Copilot 扩展。 例如,如果我们想重构一个用Python编写的源代码,我们可以通过以下方式安装Copilot插件:

  • 单击以打开集成开发环境或 IDE(JavaScript 或 Python)中的“设置”选项。
  • 点击左侧的插件选项。
  • 单击市场选项并搜索GitHub 副驾驶插入。
  • 找到后,单击安装安装插件。

  • 安装完成后,IDE 将提示重新启动。 重启后,打开IDE,点击工具 -> GitHub Copilot -> 登录 GitHub。

  • 成功登录后,Copilot 即可使用。
  • 要使用 Copilot,可以在编写代码时使用以下快捷键
行动视窗/Linux苹果系统
触发内联建议Alt+\选项+\
请参阅下一个建议Alt+]选项+]
请参阅之前的建议Alt+[选项+[
接受建议标签标签
拒绝内嵌建议Esc键Esc键
在新选项卡中显示所有建议Alt+EnterAlt+Enter

有关的: 如何查看从GitHub下载的代码

示例 1:简化复杂代码

让我们考虑下面的代码片段,以演示如何使用 Copilot 的重构功能来简化复杂的代码。 在这里,为了便于理解,我们仅考虑较大程序的一部分:

重构前

     public void processOrder(Order order) {

         // ... further codes

         if (order.isReadyForProcessing()) {

             // process the order

         }

         //... further codes

     }

与 Copilot 重构后

     public void processOrder(Order order) {

         // ...further codes

         processReadyOrder(order);

         // ...further codes

     }

    private void processReadyOrder(Order order) {

         if (order.isReadyForProcessing()) {

             // process the order

         }

     }

在上面的示例中,第一组代码(重构之前)由名为的函数或方法组成处理订单,它执行处理特定订单的步骤。 在处理订单之前,条件 IF 语句使用以下命令检查订单是否已准备好处理:if (order.isReadyForProcessing())功能。 在这组代码中,处理逻辑包含在主函数内部,使其模块化程度较低。

在下面的代码片段中,我们有处理订单函数来处理订单。 但是,检查订单是否准备好处理以及处理准备好订单的逻辑已移至名为的单独函数处理就绪订单。这有助于隔离每个方法,从而为代码提供清晰度和模块化性。

示例 2:变量重命名

重构前

    def calculate_area(l, w):

return l * w

与 Copilot 重构后

   def calculate_area(length, width):

 return length * width

然而,在重构之后,变量“l”和“w”被替换为长度和宽度,这通过作为重构的基本特征的变量重命名增加了代码的清晰度。

尽管 Copilot 可以帮助我们重构代码,但它也有一些局限性,例如不正确的建议、过度依赖以及折射过时的代码。 收到建议后,请确保完成所有手动检查并使用正确的提示。

GitHub Copilot 接受过哪些数据的培训?

GitHub Copilot 接受过来自公开来源的自然语言文本和源代码的培训,包括 GitHub 上公共存储库中的代码。 它由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。

:如何在 Mac 上使用 Microsoft Copilot

Copilot 兼容哪些编程语言?

Github Copilot 支持多种语言,但特别适用于 JavaScript、TypeScript、Ruby、Python、Go、C++ 和 C#。