ChatGPT是现在开发者中最热门的东西!在这篇文章中,我将告知你,作为一个开发者,你怎么能从这个人工智能东西中获益。经过实践的比方和内部提示,我将告知你怎么加速你的开发进程,使你的生活更轻松。所以,让咱们开始吧!


❓ 什么是ChatGPT?

什么是ChatGPT?好问题。它是一个聊天机器人吗?一个文本生成东西?或者仅仅另一个很快就会使咱们这些开发者被淘汰的人工智能模型?让咱们自己来问吧。

编码更聪明,而不是更难:ChatGPT如何简化你的编码之旅

现在,在你不知所措之前,让我解释一下:ChatGPT的确是一个用于文本生成的人工智能模型,但它的含义远不止于此。它是一个通用的东西,能够协助作为开发者的你更快、更有效地完结作业,乃至更有创造性。

但ChatGPT的隐秘是什么?嗯,它是根据一个所谓的生成性预训练转化器,简称GPT。听起来像科幻小说中的兵器,但它实践上仅仅一个训练有素的算法,用于生成人类写的天然语言文本。

而经过ChatGPT,你能够在你的开发进程中运用这个强壮的东西。但要留意!这不是全能的!ChatGPT不是全能的,应该谨慎运用。你必须留意什么,你现在就会知道。

现在好奇了吗?目前每个人都能够免费运用ChatGPT。你所要做的便是用你的电子邮件地址创立一个账户。

开发人员怎么运用ChatGPT?

1.开发代码、脚本和片断

ChatGPT能够协助开发者经过输入简略的提示信息主动生成代码、脚本和片段。这能够节省时间和精力。可是,重要的是要保证生成的代码符合要求,并在布置前进行全面测验。ChatGPT还能够充当 “代码查看器”,提出改进主张。

此外,ChatGPT还能够协助编写主动化作业流程。总的来说,ChatGPT为代码开发供给了巨大的支持,但重要的是仍然要有技能和知识来从头编写和优化代码。

我更喜欢在生成配置文件时运用它。在那里,需求许多很少运用的参数,因而你的脑子里没有这些参数。最近,我想用测验阶段来扩展一个现有的CI/CD环境。现有的脚本看起来像这样:

name: Node.js CI/CD Workflow with frontend
on:
  push:
    branches: [ "master" ]
jobs:
  test-and-build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [16.x]
    steps:
    - uses: actions/checkout@v3
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v3
      with:
        node-version: ${{ matrix.node-version }}
        cache: 'npm'
    - name: Build Frontend
      run: npm i --prefix client && npm run build --prefix client
      env:
       CI: false
    - name: Push to build branch
      uses: s0/git-publish-subdir-action@develop
      env:
        REPO: self
        BRANCH: build # The branch name where you want to push the assets
        FOLDER: ./public # The directory where your assets are generated
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GitHub will automatically add this - you don't need to bother getting a token
        MESSAGE: "Build: ({sha}) {msg}" # The commit message

进入全屏形式 退出全屏形式

ChatGPT为我重新规划了这个缺失的进程。我仅仅在提示中传递了现有的配置文件。

[...]
    - name: Install dependencies and run tests
      run: |
        npm install
        npm run test
      env:
        CI: true # set environment variable to run tests in CI mode
[...]

进入全屏形式 退出全屏形式

2.编写文件

经过简略地要求ChatGPT供给你想要的文档,你能够让它生成结构化的文档,涵盖你的代码或项目的一切重要方面。你的IDE的扩展也能够协助你做到这一点。我将在后面更详细地评论这个问题。

可是,重要的是要保证生成的文档是完整的、可了解的。在把它传递给客户或用户之前,人们还应该花时间检查它,并在必要时对它进行修改。

我这里有一个很好的比方。想象一下,你在看另一个开发者的代码,他没有留意函数的命名,也没有创立注释。当你看完代码的时候,ChatGPT已经为你供给了解决方案。或者你能在10秒内告知我这段代码的作用吗?

import random
def whatDoesThisFunction(numbers):
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
            if numbers[j] < numbers[i]:
                numbers[i], numbers[j] = numbers[j], numbers[i]
    return numbers
if __name__ == '__main__':
    numbers = [random.randint(1, 100) for _ in range(10)]
    sorted_numbers = whatDoesThisFunction(numbers)
    print(sorted_numbers)

进入全屏形式 退出全屏形式

我要求ChatGPT “在代码中写上注释:”。成果是这样的:


def whatDoesThisFunction(numbers):
    """
    This function takes in a list of numbers and sorts them using the bubble sort algorithm.
    """
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
            if numbers[j] < numbers[i]:
                numbers[i], numbers[j] = numbers[j], numbers[i]  # Swap the values if the jth element is smaller than the ith element.
    return numbers
if __name__ == '__main__':
    numbers = [random.randint(1, 100) for _ in range(10)]  # Generate a list of 10 random integers between 1 and 100.
    sorted_numbers = whatDoesThisFunction(numbers)  # Call the function to sort the numbers.
    print(sorted_numbers)  # Print the sorted list of numbers.

进入全屏形式 退出全屏形式

我想我不需求再多说什么了

3.供给思想食粮

试图解决一个问题时被卡住而没有主意,这可能是令人懊丧的。在这种情况下,ChatGPT能够作为一个发人深省的东西,提出其他办法和主意。因为ChatGPT有才能分析广泛的信息和识别形式,它往往能提出意想不到的有用主张。虽然它不一定能供给完美的解决方案,但它能够协助刺激创造性的进程,找到解决问题的新办法。

4.测验编写

当涉及到编写测验时,它可能是十分耗时和乏味的。但有了ChatGPT,你能够将这项繁琐的作业主动化,并加速你的代码开发进程。

它是怎么作业的?只需向ChatGPT提交一个恳求,描绘你想要创立的测验事例。然后人工智能引擎将主动为您生成测验事例代码!这意味着更少的压力和更快的代码生成!这意味着更少的压力和更快的代码生成,所以你能够专注于其他重要使命。

我想向你演示一下整个工作。我这里有来自一个现有Rest API的中间件的代码:

// Middleware to validate challenge parameters
validateChallenge: (req, res, next) => {
  // Check if request body, challengeID, done and code are present and have expected data types
  if (
    !req.body ||
    !req.body.challengeID ||
    !req.body.code ||
    !req.body.done
  ) {
    return res.status(400).send({
      msg: 'Please enter valid challenge params!', // Send error message if validation fails
    });
  }
  next(); // Call next middleware function if validation passes
},

进入全屏形式 退出全屏形式

现在咱们把这段代码传给ChatGPT,提示如下:”为这段代码编写测验:CODE”。

只需一次点击,ChatGPT就会为咱们的代码吐出总共5个测验事例。

编码更聪明,而不是更难:ChatGPT如何简化你的编码之旅

假如你的项目中已经有其他测验,你当然能够告知ChatGPT为特定的框架生成单元测验。

总的来说,ChatGPT能够协助你更有效地作业,简化测验编写进程。所以,为什么不把这个繁琐的使命外包给人工智能,优化你的开发时间呢?

运用ChatGPT时的提示

在我的日常开发作业中运用ChatGPT已经有一段时间了,我能够找到一些运用ChatGPT的技巧和窍门。

1.正确选择提示语

为了得到好的成果,你必须精确告知ChatGPT你想要什么。在提示中多写1-2句话,但你通常会得到更好的成果。

2.正确的IDE扩展

现在在商场和商铺里有许多可用于一切IDE的扩展。只要浏览一下商铺就能够了。因为我个人运用Visual Studio Code,我只能推荐它的Genie扩展。

编码更聪明,而不是更难:ChatGPT如何简化你的编码之旅

3.留意敏感/秘要数据

开发人员经常处理敏感数据,如用户信息或公司隐秘数据。因而,作为一个开发人员,保证这些数据在运用ChatGPT时不会意外地暴露出来是至关重要的。

这里的最佳做法是只向ChatGPT供给测验数据。经过保证不运用秘要信息,你能够防止意外的数据走漏,并保证你的数据安全。

4.ChatGPT在有比方的情况下作用更好

给出比方是提高ChatGPT性能的一个重要进程。例如,假如你要求ChatGPT生成SQL查询或代码,假如你供给具体的比方,你会得到更好的成果。

经过供给几行SQL代码或表的结构,ChatGPT能够更好地了解你的需求,并能供给更精确的成果。相同的,假如你想让ChatGPT对代码进行注释。经过供给注释样本,ChatGPT能够更好地了解你的需求,并能够生成更精确的注释。

5.运用英语语言

我的母语是德语,所以对我来说,创立德语提示比较容易。可是,我留意到ChatGPT能更好地了解英文提示,因而能给出更好的成果。几乎一切的开发者资源和文档都是英文的,所以ChatGPT天然能更好地了解这一点。

ChatGPT并不完美–也会犯错

虽然ChatGPT是人工智能文本生成的一个令人印象深入的比方,但它仍然会犯错误。ChatGPT的主要局限性之一是,它是根据2021年的数据,这意味着它可能运用过期的技能和框架。出于这个原因,重要的是,开发人员在运转生成的代码之前要细心检查,以保证它是正确和安全的。

另一点需求留意的是,ChatGPT不能了解不同编程技能和概念之间的深层联系。它能够生成语法上正确的代码,但可能不具有所需的功能或功率。在这种情况下,开发人员必须运用人工检查和他们自己对基础概念和联系的了解,以保证生成的代码符合要求。

总结

在这个技能和进步的年代,人工智能能够成为一个十分有价值的东西。ChatGPT作为抢先的人工智能模型之一,能够以各种方式协助开发人员 – 从开发代码和脚本到编写测验和文档。

当然,在运用ChatGPT时,有一些工作需求留意,比方选择正确的提示和IDE扩展,以及避免在提示中出现敏感数据。可是,这不应该阻挠咱们充分利用人工智能的力气!

总的来说,ChatGPT对任何开发者都是一个有用的助手,能够协助节省时间和精力。可是,假如你过于依靠人工智能,就有可能在人工智能失利时如虎添翼。因而,你仍然应该具有必要的技能和知识,在没有ChatGPT的情况下完结作业。

所以,亲爱的开发者,不要太害怕运用ChatGPT,但不要忘记,一切闪闪发光的东西都不是金子。现在,让咱们都回到咱们的作业中去,热情地看着咱们的新人工智能助手的眼睛吧!