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

警告:不要用ChatGPT处理关键代码或信息。
1. 生成代码架构
当需要从零开始建立新工程的时候,ChatGPT就是我的秘密武器。只需要几个提示,它就能用我选中的技术、框架和版本生成我需要的代码架构。它不仅每次为我节省了至少一个小时左右的工作时间,但是它也帮助你保持文档——或者团队的文档、组织性和更新性,就像团队里多了一只手!
例如,假设我想使用一些外部API。我可以让ChatGPT为我起草一个初始代码结构。
使用Python生成集成外部API的样板代码
ChatGPT立即响应:

或者,我甚至可以使用Selenium请求一个架构来抓取LinkedIn, ChatGPT会给我以下输出。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time# Initialize the web driver
driver = webdriver.Firefox()# Navigate to LinkedIn
driver.get("https://www.linkedin.com/")# Find the email and password input fields
email = driver.find_element_by_id("username")
password = driver.find_element_by_id("password")# Enter your credentials
email.send_keys("YOUR_EMAIL")
password.send_keys("YOUR_PASSWORD")# Click the login button
driver.find_element_by_xpath("//button[@type='submit']").click()# Wait for the page to load
time.sleep(5)# Navigate to the profile of the desired user
driver.get("https://www.linkedin.com/in/USER_PROFILE_NAME")# Extract the information you want from the page
name = driver.find_element_by_xpath("//span[@class='inline t-24 t-black t-normal break-words']").text
location = driver.find_element_by_xpath("//span[@class='t-16 t-black t-normal inline-block']").textprint(name)
print(location)# close the browser
driver.quit()
容易,对吧?尝试用任何你能想到的项目挑战ChatGPT。
2. 研究和比较
决定如何实现某些东西是很困难的,特别是当有多个选项可供选择时。我的常用方法是为每种方法创建基本的概念证明,然后进行比较。但是,在ChatGPT的帮助下,这个过程变得简单多了。
我现在可以直接询问它的专家意见,哪个选项或库最适合我的代码开发。这为我在决策过程中节省了时间和精力,并确保我使用了最好的工具。
假设我想要处理地理空间数据,但我不确定是否应该使用Geopandas或Plotly。我可以让ChatGPT为我进行比较——给定一种类型——它会立即回答两个库之间的主要差异。

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

你甚至可以询问你想要抓取的网站的最佳选择是什么?即使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])*1000
else: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 = 2
while 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 + 1print("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,您就会发现它创造的所有惊喜。

4. 向代码中添加注释
ChatGPT还可以帮助我们提高代码的质量和可维护性。通过要求它一行一行地添加注释,我们可以确保我们的代码在发布之前被正确地记录。这消除了对无注释代码的需要,并使其他人更容易理解和使用我们的代码。
ChatGPT可以显著提高可读性、可维护性和与他人的协作。
让我们假设前面的代码根本没有注释。我们可以让ChaGPT直接向它添加注释。
向以下代码添加注释:
# 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 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 pagedriver.execute_script("window.scrollTo(0, document.body.scrollHeight);")# Increment the counter variablei = i + 1# Print the current number of jobs scrolled through and the percentage of completionprint("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 itinfinite_scroller_button = driver.find_element(By.XPATH, ".//button[@aria-label='Load more results']")infinite_scroller_button.click()# Sleep for 0.1 secondstime.sleep(0.1)except:# If the button is not present, sleep for 0.1 seconds and continue scrollingtime.sleep(0.1)pass
5. 使用某种风格重写代码
ChatGPT不仅是理解不熟悉的代码的有价值的工具,而且还可以帮助我们确保自己的代码遵循行业标准和惯例。通过要求它纠正我们的代码以符合Pep-8约定——或者甚至为我们的编码风格创建一个自定义规范,我们可以避免在合并来自不同repo或团队的代码时进行昂贵且耗时的重构。
这有助于简化协作过程并提高效率。总的来说,ChatGPT是一个通用的工具,可以提高我们代码库的质量和可维护性。
当我们要求ChatGPT使用Pep-8标准编写之前的代码时,它会直接给我们重构代码。
你能用Pep8标准重写以下代码吗?

主要结论
我希望在阅读这篇文章之后,您能够意识到ChatGPT可以帮助我们提高工作效率,并创建更高质量的输出。我知道人们很容易陷入思维陷阱,认为人工智能最终可能会取代我们的工作,但正确的人工智能可以成为一种强大的资产,可以为我们所用。
然而,重要的是要记住,批判性思维在与人工智能合作时仍然是关键,就像与人类同事合作时一样。
因此,在你急于实现人工智能生成响应之前,请确保先花时间审查和评估它们。相信我,到最后都是值得的!
相关文章:
ChatGPT提高你日常工作的五个特点,以及如何使用它来提高代码质量
ChatGPT已经完全改变了代码开发模式。然而,大多数软件开发者和数据专家们仍然不使用ChatGPT来完善——并简化他们的工作。 这就是我们在这里列出提升日常工作效率和质量的5个不同的特点的原因。 让我们一起来看看在日常工作中如何使用他们。 警告:不要…...
spark datasourceV1和v2
datasourceV2 一文理解 Apache Spark DataSource V2 诞生背景及入门实战 https://zhuanlan.zhihu.com/p/83006243 2.3 Data source API v2 https://issues.apache.org/jira/browse/SPARK-15689 Because of the above limitations/issues, the built-in data source impleme…...
10种聚类算法的完整python操作示例
大家好,聚类或聚类分析是无监督学习问题。它通常被用作数据分析技术,用于发现数据中的有趣模式,例如基于其行为的客户群。有许多聚类算法可供选择,对于所有情况,没有单一的最佳聚类算法。相反,最好探索一系…...
构建合作伙伴生态系统刻不容缓
合作伙伴关系管理(PRM)系统是否已死?向合作伙伴生态系统的转变将如何改变我们未来管理合作伙伴计划的方式? 自PC革命以来,间接销售和渠道营销一直普遍存在于技术领域,通过其他公司的销售团队和人脉来增加销售,是一种明…...
剑指 Offer 55 - I. 二叉树的深度(java解题)
剑指 Offer 55 - I. 二叉树的深度(java解题)1. 题目2. 解题思路3. 数据类型功能函数总结4. java代码1. 题目 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径&a…...
威胁行为者将旧漏洞武器化以发起勒索软件攻击
勒索软件运营商比以往任何时候都更加依赖未打补丁的系统来获得对受害者网络的初始访问权限。 一份新报告显示,攻击者正在互联网和暗网中积极搜索可用于勒索软件攻击的旧漏洞和已知漏洞。 其中许多缺陷已存在多年,对尚未修补或更新易受攻击系统的组织构…...
2023北京健博会/第十届中国国际大健康产博览会
China-DJK北京健博会,立足北京打造国内外大健康产业快速融合发展平台; 大健康时代:20年前没有健康产业,如今健康产业成了全球经济中唯“不缩水”的行业,早已被国际经济学界确定为“无限广阔的兆亿产业”。据机构数据&…...
Python学习笔记之环境搭建
Python学习笔记之环境搭建1. 下载Python2. Windows 安装最新Python3. Linux 安装最新PythonPython是一种编程语言,可以让您更快地工作并更有效地集成系统。 您可以学习使用Python,并立即看到生产力的提高和维护成本的降低。 Python是荷兰程序员吉多范罗苏…...
死锁的总结
哲学家死锁造成的原因:我有你需要的,但你已经有了 饥饿与死锁的区别 死锁一旦发生一定又饥饿现象,但是饥饿现象产生不一定是死锁 历史上对于死锁的声音 死锁的方案 前面两个都是不允许死锁出现 前面都是概念性的东西 后面我们研究如何破坏…...
强化学习RL 01~ 数学基础
目录 RL理解要点 1. RL数学基础 1.1 Random Variable 随机变量 1.2 概率密度函数 Probability Density Function(PDF) 1.3 期望 Expectation 1.4 随机抽样 Random Sampling 2. RL术语 Terminologies 2.1 agent、state 和 action 2.2 策略 policy π 2.3 奖励 reward …...
Java的运算符
目录 一、什么是运算符 二、算术运算符 1. 基本四则运算符:加减乘除模( - * / %) 2、增量运算符 - * % 3. 自增/自减运算符 -- 三、关系运算符 四、 逻辑运算符(重点) 1. 逻辑与 && 2. 逻辑或 || 3. 逻辑非 ! 4. 短路求值…...
扫地机器人(蓝桥杯C/C++)
题目描述 小明公司的办公区有一条长长的走廊,由 NN 个方格区域组成,如下图所示。 走廊内部署了 KK 台扫地机器人,其中第 ii 台在第 A_iAi 个方格区域中。已知扫地机器人每分钟可以移动到左右相邻的方格中,并将该区域清扫干净。…...
如何理解API?API 是如何工作的?(5分钟诠释)
大家可能最近经常听到 API 这个概念,那什么是API,它又有什么特点和好处呢? wiki 百科镇楼 …[APIs are] a set of subroutine definitions, protocols, and tools for building application software. In general terms, it’s a set of cle…...
PAT--1111 对称日
央视新闻发了一条微博,指出 2020 年有个罕见的“对称日”,即 2020 年 2 月 2 日,按照 年年年年月月日日 格式组成的字符串 20200202 是完全对称的。 给定任意一个日期,本题就请你写程序判断一下,这是不是一个对称日&a…...
前端纯函数和副作用概念,且在react上的体现详解
什么是纯函数 纯函数是这样一种函数,即相同的输入,永远会得到相同的输出的函数,而且没有任何可观察的副作用。 什么是副作用 副作用是在计算结果的过程中,系统状态的一种变化,或者与外部世界进行的可观察的交互。 个…...
转行软件测试3年了,听前辈说测试前途是IT里最low的,我慌了......
互联网行业的技术岗位一般分为研发、测试和运维,虽然前些年测试一直都不如研发岗位那么吃香。但现在随着国内对软件测试的重视,我国互联网企业对软件测试的需求在未来还将继续增大。听起来软件测试的就业形势一片大好,那么到底软件测试的发展…...
CNI 网络流量 5.1 Cilium 介绍和原理
文章目录简介安装组件和原理Cilium-agent初始化IPAMCNICilium cli 的使用bpfMap 的操作Cilium-agentEbpf简介 Cilium 是一个用于容器网络领域的开源项目,主要是面向容器而使用,用于提供并透明地保护应用程序工作负载(如应用程序容器或进程&a…...
机加行业MES解决方案,助力企业打造数字化透明车间
机械加工行业的主要原材料占整个生产物料成本的95%~99%,以挖掘机为例,原材料有各种规格的钢板、焊丝、焊条、油漆以及各种气体等,其中主要原材料是钢板,占原材料比率的98%以上。 因此机械加工mes的原材料管理是机械加工行业信息化…...
C/C++每日一练(20230227)
目录 1. 按要求排序数组 ★ 2. Z 字形变换 ★★ 3. 下一个排列 ★★ 1. 按要求排序数组 给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中,数字 1 的数目升序排序。 如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小…...
总结SpringBoot1.x迁移到2.x需要注意的问题
SpringBoot1.x和SpringBoot2.x版本差异化还是比较大的,有些三方依赖组件有些是基于2.0版本为标准升级的,当我们将项目由1.0升级到2.0时会出现依赖的方法不存在或方法错误,需要逐个去调整,下面总结了我们升级实践过程中遇到的一些问…...
JiYuTrainer:如何一键解除极域电子教室的全屏控制限制?
JiYuTrainer:如何一键解除极域电子教室的全屏控制限制? 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 你是否曾在机房上课时,被极域电子教室的…...
1771-OZL处理器模块
1771-OZL 处理器模块 — 产品特点1771-OZL 是1771系列的PLC处理器模块,用于工业自动化系统的逻辑运算与过程控制。适用于PLC-5标准机架控制系统支持数字量输入/输出及模拟量接口内置高速逻辑运算功能可执行顺序控制和定时/计数功能支持程序存储与在线修改高可靠性设…...
别再为3DGS头疼了!手把手教你用COLMAP+UnityGaussianSplatting从照片到实时场景(避坑指南)
3D高斯重建实战:从照片到Unity实时渲染的全流程避坑指南 当我在工作室第一次尝试将手机拍摄的照片转换成可交互的3D场景时,经历了无数次COLMAP崩溃、点云缺失和Unity插件报错。这种挫败感让我意识到,3D高斯重建技术虽然强大,但工具…...
告别改板焦虑!手把手教你用Ansys SIwave 2022R2搞定PCB信号完整性仿真(附S参数导出Pspice全流程)
告别改板焦虑!Ansys SIwave 2022R2信号完整性仿真实战指南 在高速PCB设计领域,信号完整性问题如同悬在硬件工程师头顶的达摩克利斯之剑。当信号速率突破10Gbps,板间距离压缩至毫米级时,传统"设计-打样-测试"的迭代模式已…...
[FLAC无损下载]音乐爱好者与创作者的高效资源获取方案
[FLAC无损下载]音乐爱好者与创作者的高效资源获取方案 【免费下载链接】NeteaseCloudMusicFlac 根据网易云音乐的歌单, 下载flac无损音乐到本地.。 项目地址: https://gitcode.com/gh_mirrors/nete/NeteaseCloudMusicFlac 在数字音乐产业快速发展的今天,无损…...
UML(Unified Modeling Language,统一建模语言)是一种标准化的可视化建模语言,广泛用于软件系统的需求分析
UML(Unified Modeling Language,统一建模语言)是一种标准化的可视化建模语言,广泛用于软件系统的需求分析、设计与文档化。你列出的是UML 2.x 中最常用的六种结构与行为图,分别属于两大类: ✅ 结构图&#…...
利用快马平台快速生成javascript交互原型:以动态待办列表为例
利用快马平台快速生成JavaScript交互原型:以动态待办列表为例 最近在尝试快速验证一个待办事项应用的交互设计,发现用传统方式从零开始写代码太耗时了。正好试用了InsCode(快马)平台,只需要描述功能需求,就能自动生成可运行的Jav…...
OpenClaw安全实践:Qwen3-VL:30B本地化+飞书权限管控
OpenClaw安全实践:Qwen3-VL:30B本地化飞书权限管控 1. 为什么需要安全自动化 去年我接手了一个棘手的任务:团队每周需要从上百份PDF报告中提取关键数据,整理成统一格式的Excel表格。手动操作不仅耗时,还容易出错。当我尝试用Pyt…...
智鼎在线测评通关秘籍:2024最新51job题库实战解析与避坑指南
智鼎在线测评通关秘籍:2024最新51job题库实战解析与避坑指南 在竞争激烈的求职市场中,智鼎在线测评已成为众多知名企业筛选人才的第一道门槛。据统计,2024年使用智鼎测评系统的企业数量同比增长35%,而通过率却不足40%。这份指南将…...
LeRobot框架深度解析:3个核心模块实现机器人学习的PyTorch统一解决方案
LeRobot框架深度解析:3个核心模块实现机器人学习的PyTorch统一解决方案 【免费下载链接】lerobot 🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot …...
