目錄
01.產生專案程式碼的框架
02.研究和比較
抓取社交網路的最佳選擇是什麼?
03.理解程式碼
以下程式碼的作用是什麼?
04.在我們的程式碼中加入註解
05.使用某种风格重写我们的代码
总结
首頁 科技週邊 人工智慧 ChatGPT 的五大功能可以幫助你提升程式碼品質

ChatGPT 的五大功能可以幫助你提升程式碼品質

Apr 14, 2023 pm 02:58 PM
人工智慧 chatgpt 開發

ChatGPT 目前徹底改變了開發程式碼的方式,然而,大多數軟體開發人員和數據專家仍然沒有使用 ChatGPT 來改進和簡化他們的工作。

這就是為什麼我在這裡概述 5 個不同的功能,以提高我們的日常工作速度和品質。

我們可以在日常工作中使用它們。現在,我們一起來了解一下吧。

注意:切勿在 ChatGPT 中使用關鍵程式碼或資訊。

01.產生專案程式碼的框架

從頭開始建立新專案時,ChatGPT 是我的秘密武器。只需幾個提示,它就可以產生我需要的程式碼框架,包括我選擇的技術、框架和版本。它不僅為我節省了至少一個小時左右的工作時間,而且還有助於使我的文檔(或團隊的文檔)井井有條並保持最新,這就好像在給團隊加外掛,感覺無形之中多了一雙手!

例如,假設我想使用一些外部API,我可以請ChatGPT 為我起草一個初始程式碼結構。

使用 Python 產生整合外部 API 的樣板程式碼。

ChatGPT 立即回答:

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[@]").text
location = driver.find_element_by_xpath("//span[@]").text

print(name)
print(location)

# close the browser
driver.quit()
登入後複製

很容易,對吧?嘗試用您能想像到的任​​何項目來挑戰 ChatGPT。

02.研究和比較

就如何實施某些事情做出決定可能很困難,尤其是當有多種選擇可供選擇時。我的首選方法是為每種方法建立一個基本的概念證明,然後將它們進行比較。但是,在 ChatGPT 的幫助下,這個過程變得簡單多了。

我現在可以直接詢問它的專家意見,了解哪個選項或函式庫最適合我的程式碼開發。這節省了我在決策過程中的時間和精力,並確保我使用最好的工具來完成工作。

假設我想處理地理空間數據,但不確定我是否應該使用 Geopandas 或 Plotly。我可以讓 ChatGPT 為我進行比較——包含一個類型 ;它會立即回答兩個庫之間的主要區別。

ChatGPT 的五大功能可以幫助你提升程式碼品質

螢幕截圖來源與ChatGPT 聊天,ChatGPT 向我解釋了geopandas 和plotly 之間的區別

如果現在我想抓取一個網站,我可以問問最好的庫是什麼。 ChatGPT 使用 Python 中最受歡迎的網頁抓取庫來回答。

ChatGPT 的五大功能可以幫助你提升程式碼品質

螢幕截圖來源與ChatGPT 聊天,ChatGPT 解釋最受歡迎的抓取網站

你甚至可以詢問你想要抓取的網站的最佳選擇是什麼——儘管ChatGPT 很可能會警告你這將違反該網站的內容政策——所以要小心。

抓取社交網路的最佳選擇是什麼?

ChatGPT 的五大功能可以幫助你提升程式碼品質

03.理解程式碼

#我們都去過那裡,努力理解不是我們創建的程式碼庫。瀏覽複雜且組織不當的程式碼(也稱為義大利麵程式碼)可能是一項令人沮喪且耗時的任務。

但是,有了 ChatGPT,理解新的程式碼庫就變得容易多了。我現在可以簡單地要求它解釋程式碼的功能並立即理解它。無需再浪費寶貴的時間和精力來破解糟糕的程式碼。

假設我正在嘗試抓取 Linkedin,我在網路上發現了一個隨機程式碼,該程式碼應該可以向下捲動 Linkedin 工作機會網站。

以下程式碼的作用是什麼?

#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 + 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 聊天,ChatGPT 解釋了我沒看懂的程式碼

04.在我們的程式碼中加入註解

# ChatGPT 還可以幫助我們提高自己程式碼的品質和可維護性,透過你提出的要求,它會逐行添加註釋,我們可以確保我們的程式碼在發布前得到正確記錄。這幫助我們實現了對程式碼添加註解的要求,並使其他人更容易理解和使用我們的程式碼。

ChatGPT 可以明显提高了代码可读性、可维护性和与他人协作的能力。

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

以下是ChatGPT为代码添加注释 :

# 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 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
登入後複製

令人印象深刻吧?基本可以添加注释的代码均添加了。

05.使用某种风格重写我们的代码

ChatGPT 不仅是理解陌生代码的宝贵工具,而且还可以帮助我们确保自己的代码遵循行业标准和惯例,通过要求它更正我们的代码以符合 Pep-8 约定,或者甚至为我们的编码风格创建自定义约定,我们可以避免在合并来自不同存储库或团队的代码时进行昂贵且耗时的重构。

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

如果我们让ChatGPT用Pep-8标准写之前的代码,它会直接给我们重构后的代码。

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

ChatGPT 的五大功能可以幫助你提升程式碼品質

屏幕截图 ChatGPT 聊天,ChatGPT 按照 Pep8 标准提供我们的代码

总结

我希望读完本文后,您会意识到 ChatGPT 可以帮助我们提高工作效率并创造更高质量的输出。我知道很容易陷入认为人工智能最终会接管我们工作的陷阱,但正确的人工智能可以成为一种强大的资产,想办法让它可以为我们所用。

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

因此,在您急于实施 AI 生成的响应之前,请确保先花时间审查和评估它们。相信我,这最终是值得的!

如果 ChatGPT 的其他一些优秀功能让您感到惊讶,请您在留言区告诉我,让我们一起努力让人工智能为我们服务。

以上是ChatGPT 的五大功能可以幫助你提升程式碼品質的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

ChatGPT 現在允許免費用戶使用 DALL-E 3 產生每日限制的圖像 ChatGPT 現在允許免費用戶使用 DALL-E 3 產生每日限制的圖像 Aug 09, 2024 pm 09:37 PM

DALL-E 3 於 2023 年 9 月正式推出,是比其前身大幅改進的車型。它被認為是迄今為止最好的人工智慧圖像生成器之一,能夠創建具有複雜細節的圖像。然而,在推出時,它不包括

位元組跳動剪映推出 SVIP 超級會員:連續包年 499 元,提供多種 AI 功能 位元組跳動剪映推出 SVIP 超級會員:連續包年 499 元,提供多種 AI 功能 Jun 28, 2024 am 03:51 AM

本站6月27日訊息,剪映是由位元組跳動旗下臉萌科技開發的一款影片剪輯軟體,依託於抖音平台且基本面向該平台用戶製作短影片內容,並相容於iOS、安卓、Windows 、MacOS等作業系統。剪映官方宣布會員體系升級,推出全新SVIP,包含多種AI黑科技,例如智慧翻譯、智慧劃重點、智慧包裝、數位人合成等。價格方面,剪映SVIP月費79元,年費599元(本站註:折合每月49.9元),連續包月則為59元每月,連續包年為499元每年(折合每月41.6元) 。此外,剪映官方也表示,為提升用戶體驗,向已訂閱了原版VIP

微調真的能讓LLM學到新東西嗎:引入新知識可能讓模型產生更多的幻覺 微調真的能讓LLM學到新東西嗎:引入新知識可能讓模型產生更多的幻覺 Jun 11, 2024 pm 03:57 PM

大型語言模型(LLM)是在龐大的文字資料庫上訓練的,在那裡它們獲得了大量的實際知識。這些知識嵌入到它們的參數中,然後可以在需要時使用。這些模型的知識在訓練結束時被「具體化」。在預訓練結束時,模型實際上停止學習。對模型進行對齊或進行指令調優,讓模型學習如何充分利用這些知識,以及如何更自然地回應使用者的問題。但是有時模型知識是不夠的,儘管模型可以透過RAG存取外部內容,但透過微調使用模型適應新的領域被認為是有益的。這種微調是使用人工標註者或其他llm創建的輸入進行的,模型會遇到額外的實際知識並將其整合

為大模型提供全新科學複雜問答基準與評估體系,UNSW、阿貢、芝加哥大學等多家機構共同推出SciQAG框架 為大模型提供全新科學複雜問答基準與評估體系,UNSW、阿貢、芝加哥大學等多家機構共同推出SciQAG框架 Jul 25, 2024 am 06:42 AM

編輯|ScienceAI問答(QA)資料集在推動自然語言處理(NLP)研究中發揮著至關重要的作用。高品質QA資料集不僅可以用於微調模型,也可以有效評估大語言模型(LLM)的能力,尤其是針對科學知識的理解和推理能力。儘管目前已有許多科學QA數據集,涵蓋了醫學、化學、生物等領域,但這些數據集仍有一些不足之處。其一,資料形式較為單一,大多數為多項選擇題(multiple-choicequestions),它們易於進行評估,但限制了模型的答案選擇範圍,無法充分測試模型的科學問題解答能力。相比之下,開放式問答

SOTA性能,廈大多模態蛋白質-配體親和力預測AI方法,首次結合分子表面訊息 SOTA性能,廈大多模態蛋白質-配體親和力預測AI方法,首次結合分子表面訊息 Jul 17, 2024 pm 06:37 PM

編輯|KX在藥物研發領域,準確有效地預測蛋白質與配體的結合親和力對於藥物篩選和優化至關重要。然而,目前的研究並沒有考慮到分子表面訊息在蛋白質-配體相互作用中的重要作用。基於此,來自廈門大學的研究人員提出了一種新穎的多模態特徵提取(MFE)框架,該框架首次結合了蛋白質表面、3D結構和序列的信息,並使用交叉注意機制進行不同模態之間的特徵對齊。實驗結果表明,該方法在預測蛋白質-配體結合親和力方面取得了最先進的性能。此外,消融研究證明了該框架內蛋白質表面資訊和多模態特徵對齊的有效性和必要性。相關研究以「S

SK 海力士 8 月 6 日將展示 AI 相關新品:12 層 HBM3E、321-high NAND 等 SK 海力士 8 月 6 日將展示 AI 相關新品:12 層 HBM3E、321-high NAND 等 Aug 01, 2024 pm 09:40 PM

本站8月1日消息,SK海力士今天(8月1日)發布博文,宣布將出席8月6日至8日,在美國加州聖克拉拉舉行的全球半導體記憶體峰會FMS2024,展示諸多新一代產品。未來記憶體和儲存高峰會(FutureMemoryandStorage)簡介前身是主要面向NAND供應商的快閃記憶體高峰會(FlashMemorySummit),在人工智慧技術日益受到關注的背景下,今年重新命名為未來記憶體和儲存高峰會(FutureMemoryandStorage),以邀請DRAM和儲存供應商等更多參與者。新產品SK海力士去年在

佈局 AI 等市場,格芯收購泰戈爾科技氮化鎵技術和相關團隊 佈局 AI 等市場,格芯收購泰戈爾科技氮化鎵技術和相關團隊 Jul 15, 2024 pm 12:21 PM

本站7月5日消息,格芯(GlobalFoundries)於今年7月1日發布新聞稿,宣布收購泰戈爾科技(TagoreTechnology)的功率氮化鎵(GaN)技術及智慧財產權組合,希望在汽車、物聯網和人工智慧資料中心應用領域探索更高的效率和更好的效能。隨著生成式人工智慧(GenerativeAI)等技術在數位世界的不斷發展,氮化鎵(GaN)已成為永續高效電源管理(尤其是在資料中心)的關鍵解決方案。本站引述官方公告內容,在本次收購過程中,泰戈爾科技公司工程師團隊將加入格芯,進一步開發氮化鎵技術。 G

VSCode 前端開發新紀元:12款 AI 代碼助理推薦 VSCode 前端開發新紀元:12款 AI 代碼助理推薦 Jun 11, 2024 pm 07:47 PM

在前端開發的世界裡,VSCode以其強大的功能和豐富的插件生態,成為了無數開發者的首選工具。而近年來,隨著人工智慧技術的快速發展,VSCode上的AI代碼助理也如雨後春筍般湧現,大大提升了開發者的編碼效率。 VSCode上的AI代碼助手,如雨後春筍般湧現,大大提升了開發者的編碼效率。它利用人工智慧技術,能夠聰明地分析程式碼,提供精準的程式碼補全、自動糾錯、語法檢查等功能,大大減少了開發者在編碼過程中的錯誤和繁瑣的手工工作。有今天,就為大家推薦12款VSCode前端開發AI程式碼助手,幫助你在程式設計之路

See all articles