博客專欄

        EEPW首頁 > 博客 > 獨家 | ChatGPT提高你日常工作的五個特點以及如何使用它來提高代碼質量

        獨家 | ChatGPT提高你日常工作的五個特點以及如何使用它來提高代碼質量

        發布人:AI科技大本營 時間:2023-02-21 來源:工程師 發布文章

        圖片

        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有其他讓你驚喜的好特性,請告訴我。我會在評論里讀到你!


        數據總是有更好的想法——相信它。


        原文標題:5 ChatGPT features to boost your daily work原文鏈接:https://medium.com/geekculture/5-chatgpt-features-to-boost-your-daily-work-404478fd70ca



        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 孝义市| 宁陕县| 泰顺县| 来宾市| 汾阳市| 界首市| 泾阳县| 娄底市| 淅川县| 遂川县| 临西县| 泸西县| 新沂市| 察哈| 惠东县| 阜南县| 长沙市| 曲阳县| 宾阳县| 诸暨市| 博白县| 车致| 兰溪市| 巫溪县| 江源县| 海口市| 方山县| 新安县| 栖霞市| 剑阁县| 麻栗坡县| 盘山县| 文成县| 黎川县| 嘉鱼县| 东至县| 高邑县| 银川市| 东兴市| 滁州市| 安康市|