如何利用ChatGPT提升写代码效率和质量

ChatGPT在代码开发方面带来了巨大革新,虽然如此,仍有许多软件开发人员未能充分运用ChatGPT来优化和简化作业流程。在这里,咱们将介绍5个可用于进步你日常作业效率和质量的ChatGPT功用。

下面将具体了解怎么运用这些功用:

1. 生成代码骨架

当你需求从头构建一个项目时,GPT可以供给巨大的协助。只需几个提示,它就可认为你生成所需的代码骨架,包含挑选的技能、框架和版本。它不仅能大幅削减你的作业时刻,并且还有助于保持你的文档或团队文档的安排和更新。

例如,想象一下我想要运用一些外部API。我可以要求ChatGPT为我起草一个初始的代码结构。

用 Python 生成一个恳求外部API的样版代码

ChatGPT当即答复:

import requests
def make_api_request():
    url = "https://api.example.com/endpoint"
    ChatGPT4镜像站
    # 设置恳求头(假如需求)
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer your_token"
    }
    # 设置恳求参数(假如需求)
    params = {
        "param1": "value1",
        "param2": "value2"
    }
    try:
        # 发送 GET 恳求
        response = requests.get(url, headers=headers, params=params)
        # 检查呼应状况码
        if response.status_code == 200:
            # 呼应正常
            data = response.json()
            # 在这里处理回来的数据
        else:
            # 呼应出现错误
            print("API 恳求失利,状况码:", response.status_code)
    except requests.exceptions.RequestException as e:
        # 恳求产生反常
        print("恳求产生反常:", str(e))
# 调用函数发送 API 恳求
make_api_request()

或许,我乃至可以要求生成运用 Selenium v4 库爬取百度热搜的代码骨架,ChatGPT给我以下输出:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
def scrape_baidu_hot_search():
    # 设置 Chrome 阅读器驱动途径
    chromedriver_path = "path_to_chromedriver"
    # 创立 ChromeOptions 对象
    chrome_options = Options()
    chrome_options.add_argument("--headless")  # 可选,以无头模式运转阅读器
    # 创立 ChromeDriver 服务
    service = Service(chromedriver_path)
    # 创立 Chrome 阅读器实例ChatGPT4镜像站
    driver = webdriver.Chrome(service=service, options=chrome_options)
    try:
        # 翻开百度热搜页面
        driver.get("https://top.baidu.com/board?tab=realtime")
        # 在页面等候一段时刻,保证页面加载完结
        driver.implicitly_wait(5)
        # 定位热搜榜单元
        hot_search_elements = driver.find_elements(By.CSS_SELECTOR, ".keyword-list li .keyword-link")
        # 遍历热搜榜单元素并提取信息
        for element in hot_search_elements:
            # 提取热搜文本
            hot_search_text = element.text
            print(hot_search_text)
    finally:
        # 关闭阅读器实例
        driver.quit()
# 调用函数开端爬取百度热搜
scrape_baidu_hot_search()

假如哪里不对,你只需告诉GPT,让它重新生成 。比方上面的热搜内容不对,你只需这样提示

修正为获取 class 名为 c-single-text-ellipsis 这个的内容

ChatGPT当即答复:
要获取 class 名为 “c-single-text-ellipsis” 的元素内容,你可以运用 Selenium 的 find_element 办法结合 text 特点。以下是示例代码:

...
  # 定位热搜榜单元素
        hot_search_elements = driver.find_element(By.CLASS_NAME, "c-single-text-ellipsis")
...

GPT就会帮你重新修正代码,乃至你可以把错误信息回复给GPT,让它帮你解决问题,很简单,对吧?

2. 研究和比较

在挑选怎么实施某个功用时可能会很困难,特别是当有多个选项可供挑选时。我一般的做法是为每种办法创立一个基本的概念验证,然后进行比较。但是,有了ChatGPT的协助,这个过程变得更加简单。

现在我可以直接向ChatGPT问询它对于代码开发中哪个选项或库最好的专家意见。这样可以节省我在决议计划过程中的时刻和精力,并保证我运用的是最适合作业的东西。

假定我想要处理地舆空间数据,但我不确定是应该运用Geopandas仍是Plotly。我可以向ChatGPT问询它们之间的比较 – 包含类型在内 – 它会当即答复两个库之间的首要差异。

如何利用ChatGPT提升写代码效率和质量

如何利用ChatGPT提升写代码效率和质量

ChatGPT聊天截图。ChatGPT向我解说了geopandas和plotly之间的差异。

假如我现在想要爬取一个网站,我可以问询哪个是最好的库来实现这个功用。ChatGPT会答复Python中最盛行的网络爬虫库。

如何利用ChatGPT提升写代码效率和质量

如何利用ChatGPT提升写代码效率和质量

ChatGPT聊天截图。ChatGPT解说了最受欢迎的网页爬取库。

你乃至可以问询爬取交际网络的最佳选项 – 虽然ChatGPT很可能会正告你这将违背该网站的内容方针。

请保证恪守相关方针,留意不要触犯隐私和版权问题。

3. 了解代码

咱们都有过这种经历,在尽力了解一个不是咱们创立的代码库时。阅读一个复杂且安排紊乱的代码库(也被称为屎山)可能是一项令人溃散且耗时的任务。

但是,有了ChatGPT,了解新代码库变得更加简单。现在我可以简单地问询它解说代码的功用,并且在短时刻内了解代码。不再浪费名贵的时刻和精力来解读写得糟糕的代码。

这段代码是什么意思?[在这里刺进代码]

ChatGPT当即给出了对上述代码的具体解说。你乃至可以要求在代码的某个部分供给更多细节。

4. 为咱们的代码增加注释

ChatGPT还可以协助咱们改善代码的质量和可维护性。经过要求它逐行增加注释,咱们可以保证在发布代码之前对其进行适当的文档记录。这消除了无注释的代码的需求,并使别人更简单了解和运用咱们的代码。

ChatGPT可以显著进步代码的可读性、可维护性和与别人的协作。

假定之前的代码完全没有注释。咱们只需让ChatGPT直接为其增加注释。

处以下代码增加注释 [在这里刺进代码]

jobs_num = driver.find_element(By.CSS_SELECTOR,"h1>span").get_attribute("innerText")
# 检查作业数量是否包含“,”,假如是,则将其转换为数字* 1000
if len(jobs_num.split(',')) > 1:
    jobs_num = int(jobs_num.split(',')[0])*1000
else:
    jobs_num = int(jobs_num)
# 将jobs_num转换为整数
jobs_num = int(jobs_num)
# 设置要爬取的作业数量为1000
jobs_num = 1000;
# 初始化一个计数器变量以阅读作业
i = 2
# 开端一个while循环以阅读作业
while i <= int(jobs_num/2)+1:
    # 翻滚到页面底部
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    # 增加计数器变量的值
    i = i + 1
    # 打印当前阅读的作业数量和完结百分比
    print("Current at: ", i, "Percentage at: ", ((i+1)/(int(jobs_num/2)+1))*100, "%",end="\r")
    try:
        # 测验定位“Load more results”按钮并点击它
        infinite_scroller_button = driver.find_element(By.XPATH, ".//button[@aria-label='Load more results']")
        infinite_scroller_button.click()
        # 等候0.1秒
        time.sleep(0.1)
    except:
        # 假如按钮不存在,等候0.1秒并继续翻滚
        time.sleep(0.1)
        pass

特别对于英文不好的同学,写开源代码时可以让GPT帮你增加英文注释,真的太好用了吧!

5. 运用一些规范重写咱们的代码

ChatGPT不仅是了解生疏代码的名贵东西,还可以协助咱们保证自己的代码契合行业规范和约好。经过要求它将咱们的代码修正为契合Pep-8约好 – 或许乃至为咱们的编码风格创立自定义约好 – 咱们可以避免在合并来自不同代码库或团队的代码时需求进行贵重和耗时的重构。

这有助于简化协作流程并使其更加高效。整体而言,ChatGPT是一个多功用东西,可以进步代码库的质量和可维护性。

假如咱们要求ChatGPT运用Pep-8规范重新编写之前的代码,它将直接给咱们重构后的代码。

你可以运用Pep8规范重写以下代码吗?[在这里刺进代码]

# Find the number of jobs offered on the website
jobs_num = driver.find_element(By.CSS_SELECTOR, "h1>span").get_attribute("innerText")
# Check if the number of jobs contains a ',' and if so, convert it to a number * 1000
if len(jobs_num.split(',')) > 1:
    jobs_num = int(jobs_num.split(',')[0]) * 1000
else:
    jobs_num = int(jobs_num)
# Convert jobs_num to an integer
jobs_num = int(jobs_num)
# Set the number of jobs to scrape to 1000
jobs_num = 1000
# Initialize a counter variable to scroll through the jobs
i = 2
# Start a while loop to scroll through the jobs
while i <= int(jobs_num / 2) + 1:
    # Scroll to the bottom of the page
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    # Increment the counter variable
    i += 1
    # Print the current number of jobs scrolled through and the percentage of completion
    print("Current at:", i, "Percentage at:", ((i + 1) / (int(jobs_num / 2) + 1)) * 100, "%", end="\r")
    try:
        # Try to locate the "Load more results" button and click on it
        infinite_scroller_button = driver.find_element(By.XPATH, ".//button[@aria-label='Load more results']")
        infinite_scroller_button.click()
        # Sleep for 0.1 seconds
        time.sleep(0.1)
    except:
        # If the button is not present, sleep for 0.1 seconds and continue scrolling
        time.sleep(0.1)
        pass

相同,当需求为函数命名时,你只需向GPT介绍你的函数功用,它便能为你供给多个不同的命名选项供你挑选,这样就不再为命名而感到烦恼。

更多的功用等候你去发现!

结论

在读完本文之后,我希望你能了解到,ChatGPT可以助力咱们进步作业效率,使人工智能成为咱们的得力助手。然而,值得留意的是,在与人工智能协作的过程中,咱们相同需求保持批判性思维,就像在与人类搭档合作时相同。

因而,在对根据人工智能所生成的答案急于付诸实践之前,请必须保证留出时刻对其进行检查和评估。

附: ChatGPT4镜像站