ChatGPT是现在开发者中最热门的东西!在这篇文章中,我将告诉你,作为一个开发者,你如何能从这个人工智能工具中获益。通过实际的例子和内部提示,我将告诉你如何加快你的开发过程,使你的生活更轻松。所以,让我们开始吧!
❓ 什么是ChatGPT?
什么是ChatGPT?好问题。它是一个聊天机器人吗?一个文本生成工具?或者只是另一个很快就会使我们这些开发者被淘汰的人工智能模型?让我们自己来问吧。
” loading=”lazy”>
现在,在你惊慌失措之前,让我解释一下: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个测试案例。
” loading=”lazy”>
如果你的项目中已经有其他测试,你当然可以告诉ChatGPT为特定的框架生成单元测试。
总的来说,ChatGPT可以帮助你更有效地工作,简化测试编写过程。所以,为什么不把这个繁琐的任务外包给人工智能,优化你的开发时间呢?
💡 使用ChatGPT时的提示
在我的日常开发工作中使用ChatGPT已经有一段时间了,我能够找到一些使用ChatGPT的技巧和窍门。
1.正确选择提示语
为了得到好的结果,你必须准确告诉ChatGPT你想要什么。在提示中多写1-2句话,但你通常会得到更好的结果。
2.正确的IDE扩展
现在在市场和商店里有许多可用于所有IDE的扩展。只要浏览一下商店就可以了。由于我个人使用Visual Studio Code,我只能推荐它的Genie扩展。
” loading=”lazy”>
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,但不要忘记,所有闪闪发光的东西都不是金子。现在,让我们都回到我们的工作中去,热情地看着我们的新人工智能助手的眼睛吧!