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的技巧和窍门。
1.正确选择提示语
为了得到好的成果,你必须精确告知ChatGPT你想要什么。在提示中多写1-2句话,但你通常会得到更好的成果。
2.正确的IDE扩展
现在在商场和商铺里有许多可用于一切IDE的扩展。只要浏览一下商铺就能够了。因为我个人运用Visual Studio Code,我只能推荐它的Genie扩展。
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,但不要忘记,一切闪闪发光的东西都不是金子。现在,让咱们都回到咱们的作业中去,热情地看着咱们的新人工智能助手的眼睛吧!