ChatGPT提高你日常工作的五个特点,以及如何使用它来提高代码质量

简介: ChatGPT已经完全改变了代码开发模式。然而,大多数软件开发者和数据专家们仍然不使用ChatGPT来完善——并简化他们的工作。这就是我们在这里列出提升日常工作效率和质量的5个不同的特点的原因。让我们一起来看看在日常工作中如何使用他们。


警告:不要用ChatGPT处理关键代码或信息。


1. 生成代码架构


当需要从零开始建立新工程的时候,ChatGPT就是我的秘密武器。只需要几个提示,它就能用我选中的技术、框架和版本生成我需要的代码架构。它不仅每次为我节省了至少一个小时左右的工作时间,但是它也帮助你保持文档——或者团队的文档、组织性和更新性,就像团队里多了一只手!


例如,假设我想使用一些外部API。我可以让ChatGPT为我起草一个初始代码结构。


使用Python生成集成外部API的样板代码


ChatGPT立即响应:


截图ChatGPT聊天。ChatGPT给了我一个代码框架


或者,我甚至可以使用Selenium请求一个架构来抓取LinkedIn, ChatGPT会给我以下输出。






































from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport time
# Initialize the web driverdriver = webdriver.Firefox()
# Navigate to LinkedIndriver.get("https://www.linkedin.com/")
# Find the email and password input fieldsemail = driver.find_element_by_id("username")password = driver.find_element_by_id("password")
# Enter your credentialsemail.send_keys("YOUR_EMAIL")password.send_keys("YOUR_PASSWORD")
# Click the login buttondriver.find_element_by_xpath("//button[@type='submit']").click()
# Wait for the page to loadtime.sleep(5)
# Navigate to the profile of the desired userdriver.get("https://www.linkedin.com/in/USER_PROFILE_NAME")
# Extract the information you want from the pagename = driver.find_element_by_xpath("//span[@class='inline t-24 t-black t-normal break-words']").textlocation = driver.find_element_by_xpath("//span[@class='t-16 t-black t-normal inline-block']").text
print(name)print(location)
# close the browserdriver.quit()


容易,对吧?尝试用任何你能想到的项目挑战ChatGPT。


2. 研究和比较


决定如何实现某些东西是很困难的,特别是当有多个选项可供选择时。我的常用方法是为每种方法创建基本的概念证明,然后进行比较。但是,在ChatGPT的帮助下,这个过程变得简单多了。


我现在可以直接询问它的专家意见,哪个选项或库最适合我的代码开发。这为我在决策过程中节省了时间和精力,并确保我使用了最好的工具。


假设我想要处理地理空间数据,但我不确定是否应该使用Geopandas或Plotly。我可以让ChatGPT为我进行比较——给定一种类型——它会立即回答两个库之间的主要差异。


截图ChatGPT聊天。ChatGPT向我解释了地质故事和情节之间的区别


如果现在我想要抓取一个网站,我可以问哪个库来做这个最好。ChatGPT与Python中最流行的网络检索库相匹配。


截图ChatGPT聊天。ChatGPT介绍了最流行的抓取网站


你甚至可以询问你想要抓取的网站的最佳选择是什么?即使ChatGPT很可能会警告你,这将违反该网站的内容政策,所以要小心。


从社交网络中获取利益的最佳选择是什么?


截图ChatGPT聊天。ChatGPT解释了抓取社交网络的最佳选择


3. 理解代码


我们都有过这样的经历,努力理解一个不是由我们自己创建的代码库。浏览一段复杂且无组织的代码——也称为套管程序,可能是一项令人沮丧且耗时的任务。


但是,有了ChatGPT,理解一个新的代码库就变得容易多了。我现在可以简单地要求它解释代码的功能,并立即理解它,不用再浪费宝贵的时间和精力去破译写得很差的代码。


下面的代码做什么?































#We find how many jobs are offered.jobs_num = driver.find_element(By.CSS_SELECTOR,"h1>span").get_attribute("innerText")if len(jobs_num.split(',')) > 1:    jobs_num = int(jobs_num.split(',')[0])*1000else:    jobs_num = int(jobs_num)
jobs_num   = int(jobs_num)
#Here I choose manually a number of jobs, so it wont take that long:jobs_num = 1000;
#We create a while loop to browse all jobs. i = 2while i <= int(jobs_num/2)+1:    #We keep scrollind down to the end of the view.    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:        #We try to click on the load more results buttons in case it is already displayed.        infinite_scroller_button = driver.find_element(By.XPATH, ".//button[@aria-label='Load more results']")        infinite_scroller_button.click()        time.sleep(0.1)    except:        #If there is no button, there will be an error, so we keep scrolling down.        time.sleep(0.1)        pass


ChatGPT立即给出了上述代码的详细解释,您甚至可以在给定的代码部分中询问更多的细节——只需稍微使用ChatGPT,您就会发现它创造的所有惊喜。


截图ChatGPT聊天。ChatGPT解释了我不理解的代码


4. 向代码中添加注释


ChatGPT还可以帮助我们提高代码的质量和可维护性。通过要求它一行一行地添加注释,我们可以确保我们的代码在发布之前被正确地记录。这消除了对无注释代码的需要,并使其他人更容易理解和使用我们的代码。


ChatGPT可以显著提高可读性、可维护性和与他人的协作。


让我们假设前面的代码根本没有注释。我们可以让ChaGPT直接向它添加注释。


向以下代码添加注释:






































# Find the number of jobs offered on the websitejobs_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 number * 1000if len(jobs_num.split(',')) > 1:    jobs_num = int(jobs_num.split(',')[0])*1000else:    jobs_num = int(jobs_num)
# Convert jobs_num to an integerjobs_num = int(jobs_num)
# Set the number of jobs to scrape to 1000jobs_num = 1000;
# Initialize a counter variable to scroll through the jobsi = 2
# Start a while loop to scroll through the jobswhile 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 = 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


令人印象深刻,对吧?没有注释的代码!


5. 使用某种风格重写代码


ChatGPT不仅是理解不熟悉的代码的有价值的工具,而且还可以帮助我们确保自己的代码遵循行业标准和惯例。通过要求它纠正我们的代码以符合Pep-8约定——或者甚至为我们的编码风格创建一个自定义规范,我们可以避免在合并来自不同repo或团队的代码时进行昂贵且耗时的重构。


这有助于简化协作过程并提高效率。总的来说,ChatGPT是一个通用的工具,可以提高我们代码库的质量和可维护性。


当我们要求ChatGPT使用Pep-8标准编写之前的代码时,它会直接给我们重构代码。


你能用Pep8标准重写以下代码吗?


截图ChatGPT聊天。ChatGPT给我们的代码遵循Pep-8标准


主要结论


我希望在阅读这篇文章之后,您能够意识到ChatGPT可以帮助我们提高工作效率,并创建更高质量的输出。我知道人们很容易陷入思维陷阱,认为人工智能最终可能会取代我们的工作,但正确的人工智能可以成为一种强大的资产,可以为我们所用。


然而,重要的是要记住,批判性思维在与人工智能合作时仍然是关键,就像与人类同事合作时一样。


因此,在你急于实现人工智能生成响应之前,请确保先花时间审查和评估它们。相信我,到最后都是值得的!


如果ChatGPT有其他让你惊喜的好特性,请告诉我。我会在评论里读到你!


数据总是有更好的想法——相信它。

相关文章
|
网络安全 数据安全/隐私保护
为什么免费证书的有效期为90天
为什么免费证书的有效期为90天
1258 0
|
10月前
|
开发者
在代码维护中,Qwen-coder可以通过多种方式提升编程效率和代码质量
Qwen-coder在代码维护中发挥着重要作用,帮助开发者提高代码质量,减少错误,提升开发效率。这些功能使得Qwen-coder成为代码维护和开发过程中的有力助手。
411 52
|
10月前
|
设计模式 API 数据处理
C# 一分钟浅谈:GraphQL 客户端调用
本文介绍了如何在C#中使用`GraphQL.Client`库调用GraphQL API,涵盖基本查询、变量使用、批量请求等内容,并详细说明了常见问题及其解决方法,帮助开发者高效利用GraphQL的强大功能。
212 57
|
9月前
|
机器学习/深度学习 存储 人工智能
【AI系统】流水并行
在大模型训练中,单个设备难以满足计算和存储需求,分布式训练成为必要。模型并行是其中关键技术之一,通过将模型计算任务拆分至不同设备上执行,提高训练效率。模型并行主要包括朴素模型并行、张量并行和流水线并行。流水线并行通过将模型的不同层分配到不同设备上,采用微批次处理,提高设备利用率。Gpipe和PipeDream是两种流行的流水线并行方案,前者通过重叠前向和反向传播提升效率,后者则通过1F1B策略实现交错执行,最大化利用计算资源。
319 15
|
10月前
|
人工智能 自然语言处理 测试技术
利用Qwen-coder提升编程效率:代码生成、错误检测与重构建议
利用Qwen-coder提升编程效率:代码生成、错误检测与重构建议
730 2
|
11月前
|
数据挖掘 物联网 数据处理
深入探讨Apache Flink:实时数据流处理的强大框架
在数据驱动时代,企业需高效处理实时数据流。Apache Flink作为开源流处理框架,以其高性能和灵活性成为首选平台。本文详细介绍Flink的核心特性和应用场景,包括实时流处理、强大的状态管理、灵活的窗口机制及批处理兼容性。无论在实时数据分析、金融服务、物联网还是广告技术领域,Flink均展现出巨大潜力,是企业实时数据处理的理想选择。随着大数据需求增长,Flink将继续在数据处理领域发挥重要作用。
871 0
|
缓存 JavaScript API
NodeJS代理配置指南:详细步骤和代码示例
**Node.js 代理配置:解决HTTP请求转发与CORS挑战** 在现代开发环境中,Node.js以其高效和灵活性深受青睐,但正确配置代理以处理跨域请求和API调用仍是复杂任务。本文提供全面指南,从基础到高级设置,教授如何在Node.js中使用代理,覆盖httpOptions、npm代理及第三方库的运用,以增强API调用灵活性。
1115 23
NodeJS代理配置指南:详细步骤和代码示例
|
10月前
|
弹性计算 安全 容灾
阿里云DTS踩坑经验分享系列|使用VPC数据通道解决网络冲突问题
阿里云DTS作为数据世界高速传输通道的建造者,每周为您分享一个避坑技巧,助力数据之旅更加快捷、便利、安全。本文介绍如何使用VPC数据通道解决网络冲突问题。
381 0
|
应用服务中间件 nginx
yum 安装报错 No package nginx available Error:Nothing to do
yum 安装报错 No package nginx available Error:Nothing to do
987 1
|
Cloud Native 关系型数据库 分布式数据库
云原生数据库2.0问题之DBStack的定义如何解决
云原生数据库2.0问题之DBStack的定义如何解决

热门文章

最新文章