獨(dú)家 | ChatGPT提高你日常工作的五個(gè)特點(diǎn)以及如何使用它來(lái)提高代碼質(zhì)量
ChatGPT已經(jīng)完全改變了代碼開(kāi)發(fā)模式。然而,大多數(shù)軟件開(kāi)發(fā)者和數(shù)據(jù)專(zhuān)家們?nèi)匀徊皇褂肅hatGPT來(lái)完善——并簡(jiǎn)化他們的工作。
這就是我們?cè)谶@里列出提升日常工作效率和質(zhì)量的5個(gè)不同的特點(diǎn)的原因。
讓我們一起來(lái)看看在日常工作中如何使用他們。
警告:不要用ChatGPT處理關(guān)鍵代碼或信息。
1. 生成代碼架構(gòu)
當(dāng)需要從零開(kāi)始建立新工程的時(shí)候,ChatGPT就是我的秘密武器。只需要幾個(gè)提示,它就能用我選中的技術(shù)、框架和版本生成我需要的代碼架構(gòu)。它不僅每次為我節(jié)省了至少一個(gè)小時(shí)左右的工作時(shí)間,但是它也幫助你保持文檔——或者團(tuán)隊(duì)的文檔、組織性和更新性,就像團(tuán)隊(duì)里多了一只手!
例如,假設(shè)我想使用一些外部API。我可以讓ChatGPT為我起草一個(gè)初始代碼結(jié)構(gòu)。
使用Python生成集成外部API的樣板代碼
ChatGPT立即響應(yīng):
截圖ChatGPT聊天。ChatGPT給了我一個(gè)代碼框架
或者,我甚至可以使用Selenium請(qǐng)求一個(gè)架構(gòu)來(lái)抓取LinkedIn, ChatGPT會(huì)給我以下輸出。
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()
容易,對(duì)吧?嘗試用任何你能想到的項(xiàng)目挑戰(zhàn)ChatGPT。
2. 研究和比較
決定如何實(shí)現(xiàn)某些東西是很困難的,特別是當(dāng)有多個(gè)選項(xiàng)可供選擇時(shí)。我的常用方法是為每種方法創(chuàng)建基本的概念證明,然后進(jìn)行比較。但是,在ChatGPT的幫助下,這個(gè)過(guò)程變得簡(jiǎn)單多了。
我現(xiàn)在可以直接詢(xún)問(wèn)它的專(zhuān)家意見(jiàn),哪個(gè)選項(xiàng)或庫(kù)最適合我的代碼開(kāi)發(fā)。這為我在決策過(guò)程中節(jié)省了時(shí)間和精力,并確保我使用了最好的工具。
假設(shè)我想要處理地理空間數(shù)據(jù),但我不確定是否應(yīng)該使用Geopandas或Plotly。我可以讓ChatGPT為我進(jìn)行比較——給定一種類(lèi)型——它會(huì)立即回答兩個(gè)庫(kù)之間的主要差異。
截圖ChatGPT聊天。ChatGPT向我解釋了地質(zhì)故事和情節(jié)之間的區(qū)別
如果現(xiàn)在我想要抓取一個(gè)網(wǎng)站,我可以問(wèn)哪個(gè)庫(kù)來(lái)做這個(gè)最好。ChatGPT與Python中最流行的網(wǎng)絡(luò)檢索庫(kù)相匹配。
截圖ChatGPT聊天。ChatGPT介紹了最流行的抓取網(wǎng)站
你甚至可以詢(xún)問(wèn)你想要抓取的網(wǎng)站的最佳選擇是什么?即使ChatGPT很可能會(huì)警告你,這將違反該網(wǎng)站的內(nèi)容政策,所以要小心。
從社交網(wǎng)絡(luò)中獲取利益的最佳選擇是什么?
截圖ChatGPT聊天。ChatGPT解釋了抓取社交網(wǎng)絡(luò)的最佳選擇
3. 理解代碼
我們都有過(guò)這樣的經(jīng)歷,努力理解一個(gè)不是由我們自己創(chuàng)建的代碼庫(kù)。瀏覽一段復(fù)雜且無(wú)組織的代碼——也稱(chēng)為套管程序,可能是一項(xiàng)令人沮喪且耗時(shí)的任務(wù)。
但是,有了ChatGPT,理解一個(gè)新的代碼庫(kù)就變得容易多了。我現(xiàn)在可以簡(jiǎn)單地要求它解釋代碼的功能,并立即理解它,不用再浪費(fèi)寶貴的時(shí)間和精力去破譯寫(xiě)得很差的代碼。
下面的代碼做什么?
#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立即給出了上述代碼的詳細(xì)解釋?zhuān)踔量梢栽诮o定的代碼部分中詢(xún)問(wèn)更多的細(xì)節(jié)——只需稍微使用ChatGPT,您就會(huì)發(fā)現(xiàn)它創(chuàng)造的所有驚喜。
截圖ChatGPT聊天。ChatGPT解釋了我不理解的代碼
4. 向代碼中添加注釋
ChatGPT還可以幫助我們提高代碼的質(zhì)量和可維護(hù)性。通過(guò)要求它一行一行地添加注釋?zhuān)覀兛梢源_保我們的代碼在發(fā)布之前被正確地記錄。這消除了對(duì)無(wú)注釋代碼的需要,并使其他人更容易理解和使用我們的代碼。
ChatGPT可以顯著提高可讀性、可維護(hù)性和與他人的協(xié)作。
讓我們假設(shè)前面的代碼根本沒(méi)有注釋。我們可以讓ChaGPT直接向它添加注釋。
向以下代碼添加注釋?zhuān)?/span>
# 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
令人印象深刻,對(duì)吧?沒(méi)有注釋的代碼!
5. 使用某種風(fēng)格重寫(xiě)代碼
ChatGPT不僅是理解不熟悉的代碼的有價(jià)值的工具,而且還可以幫助我們確保自己的代碼遵循行業(yè)標(biāo)準(zhǔn)和慣例。通過(guò)要求它糾正我們的代碼以符合Pep-8約定——或者甚至為我們的編碼風(fēng)格創(chuàng)建一個(gè)自定義規(guī)范,我們可以避免在合并來(lái)自不同repo或團(tuán)隊(duì)的代碼時(shí)進(jìn)行昂貴且耗時(shí)的重構(gòu)。
這有助于簡(jiǎn)化協(xié)作過(guò)程并提高效率??偟膩?lái)說(shuō),ChatGPT是一個(gè)通用的工具,可以提高我們代碼庫(kù)的質(zhì)量和可維護(hù)性。
當(dāng)我們要求ChatGPT使用Pep-8標(biāo)準(zhǔn)編寫(xiě)之前的代碼時(shí),它會(huì)直接給我們重構(gòu)代碼。
你能用Pep8標(biāo)準(zhǔn)重寫(xiě)以下代碼嗎?
截圖ChatGPT聊天。ChatGPT給我們的代碼遵循Pep-8標(biāo)準(zhǔn)
主要結(jié)論
我希望在閱讀這篇文章之后,您能夠意識(shí)到ChatGPT可以幫助我們提高工作效率,并創(chuàng)建更高質(zhì)量的輸出。我知道人們很容易陷入思維陷阱,認(rèn)為人工智能最終可能會(huì)取代我們的工作,但正確的人工智能可以成為一種強(qiáng)大的資產(chǎn),可以為我們所用。
然而,重要的是要記住,批判性思維在與人工智能合作時(shí)仍然是關(guān)鍵,就像與人類(lèi)同事合作時(shí)一樣。
因此,在你急于實(shí)現(xiàn)人工智能生成響應(yīng)之前,請(qǐng)確保先花時(shí)間審查和評(píng)估它們。相信我,到最后都是值得的!
如果ChatGPT有其他讓你驚喜的好特性,請(qǐng)告訴我。我會(huì)在評(píng)論里讀到你!
數(shù)據(jù)總是有更好的想法——相信它。
原文標(biāo)題:5 ChatGPT features to boost your daily work原文鏈接:https://medium.com/geekculture/5-chatgpt-features-to-boost-your-daily-work-404478fd70ca
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。