3.03.20237 min
Josep Ferrer

Josep FerrerAnalytics Engineer

5 funkcji ChatGPT, które ułatwią Ci kodowanie

ChatGPT i jego 5 funkcji, dzięki którym Twój programerski dzień stanie się jeszcze piękniejszy. Sprawdź jak możesz polepszyć jakość kodu z jego pomocą.

5 funkcji ChatGPT, które ułatwią Ci kodowanie

ChatGPT całkowicie zmienił sposób w jaki tworzony jest kod. Większość programistów i specjalistów od danych nie korzysta jednak z tego narzędzia. Ich praca byłaby dzięki temu o wiele łatwiejsza.

Dlatego chciałbym przedstawić Wam tutaj 5 różnych funkcji, dzięki którym będziesz działał szybciej, a jakość Twojej pracy wejdzie na zupełnie inny poziom.

Możesz je wykorzystać w swojej codziennej pracy. Odkryj jak.

⚠️ Ostrzeżenie: Nigdy nie powinieneś używać kodu krytycznego lub informacji z ChatGPT.

#1: Wygeneruj swój szkielet kodu

ChatGPT to moja tajna broń, jeśli chodzi o budowanie nowych projektów od podstaw. Wystarczy kilka podpowiedzi, aby wygenerować szkielet kodu, którego potrzebuję, wraz z wybranymi przeze mnie technologiami, frameworkami i wersjami. Pozwala mi to nie tylko zaoszczędzić co najmniej godzinę pracy za każdym razem, ale także utrzymać moją dokumentację - lub zespołową - zorganizowaną i aktualną. To jak posiadanie dodatkowej pary rąk do pracy w zespole!

Na przykład wyobraź sobie, że chcę użyć jakiegoś zewnętrznego API. Mogę poprosić ChatGPT o sporządzenie dla mnie wstępnej struktury kodu.

Wygeneruj boilerplate, który integruje zewnętrzny API przy użyciu Pythona.

ChatGPT odpowiada od razu:

Albo mogę nawet poprosić o szkielet, aby wyciągnąć dane z  LinkedIna za pomocą Selenium, a ChatGPT daje mi następujące dane wyjściowe.

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']").text

print(name)
print(location)

# close the browser
driver.quit()


Proste, prawda? Wyobraź sobie dowolny projekt, i rzuć wyzwanie temu narzędziu.

#2: Zbadaj i porównaj

Podejmowanie decyzji o tym, jak coś wdrożyć, może być trudne, zwłaszcza gdy do wyboru jest wiele opcji. Moją sprawdzoną metodą jest weryfikacja pomysłu dla każdego podejścia, a następnie porównanie ich ze sobą. Z pomocą ChatGPT ten proces stał się o wiele prostszy.

Mogę teraz bezpośrednio poprosić go o jego ekspercką opinię na temat tego, która opcja lub biblioteka jest najlepsza dla mojego kodu. Dzięki temu oszczędzam czas i wysiłek w procesie podejmowania decyzji i mam pewność, że używam najlepszych narzędzi do pracy.

Wyobraźmy sobie, że chcę pracować z danymi geoprzestrzennymi, ale nie jestem pewien, czy powinienem użyć Geopandasor czy Plotly. Mogę poprosić ChatGPT o porównanie ich dla mnie - z typem ;) - i od razu pokazuje mi główne różnice między obiema bibliotekami.

Jeśli teraz chcę zarysować sobie stronę internetową, mogę zapytać, jaka jest najlepsza biblioteka, aby to zrobić. ChatGPT odpowiada i pokazuje mi najpopularniejsze biblioteki w Pythonie za pomocą ekstrakcji danych (ang. web scraping).

Możesz nawet zapytać, jaka jest najlepsza opcja dla strony, z której dane chcesz wyciągnąć - nawet jeśli ChatGPT najprawdopodobniej ostrzeże Cię, że będzie to sprzeczne z polityką treści tej strony - więc po prostu bądź ostrożny.

Jaka jest najlepsza opcja do ekstrakcji danych serwisu społecznościowego?

#3: Zrozumieć kod

Wszyscy byliśmy w tym miejscu, zmagając się ze zrozumieniem bazy kodu, która nie została stworzona przez nas. Poruszanie się po złożonym i źle zorganizowanym kodzie - znanym również jako kod spaghetti - może być frustrującym i czasochłonnym zadaniem.

Ale dzięki ChatGPT zrozumienie nowej bazy kodu właśnie stało się o wiele łatwiejsze. Wystarczy, że zapytam go teraz o wyjaśnienie funkcji kodu i będę w stanie wszystko zrozumieć w mgnieniu oka. Koniec z marnowaniem cennego czasu i wysiłku na rozszyfrowanie źle napisanego kodu.

Wyobraźmy sobie, że próbuję wyciągnąć coś z Linkedina i znalazłem w Internecie losowy kod, który ma przewijać stronę z ofertami pracy na Linkedinie.

Co robi poniższy kod?

#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 odpowiada od razu z naprawdę szczegółowym objaśnieniem powyższego kodu. Możesz nawet poprosić o więcej szczegółów w danej części kodu - nie zaszkodzi się z nim trochę pobawić, a z pewnością odkryjesz wszystkie te cuda, które może wyczarować.

#4: Dodawanie komentarzy do kodu

ChatGPT może również pomóc w poprawie jakości i utrzymaniu naszego własnego kodu. Prosząc go o dodanie komentarzy linia po linii, możemy mieć pewność, że nasz kod jest odpowiednio udokumentowany przed wysyłką. Dzięki temu eliminujemy konieczność stosowania nieskomentowanego kodu i ułatwiamy innym zrozumienie i pracę z naszym kodem.

ChatGPT może znacznie poprawić czytelność, łatwość utrzymania i współpracę z innymi.

Wyobraźmy sobie, że poprzedni kod nie posiadał w ogóle komentarzy. W przypadku ChatGPT możemy poprosić o dodanie komentarzy bezpośrednio.

Dodaj komentarze do poniższego kodu

# 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


Imponujące, prawda? Nigdy więcej nieskomentowanego kodu :D

#5: Ponowne napisanie kodu z użyciem jakiegoś stylu

ChatGPT to nie tylko cenne narzędzie do zrozumienia kodu innych osób. Może nam również pomóc upewnić się, że nasz kod jest zgodny ze standardami i konwencjami branżowymi. Prosząc o poprawienie naszego kodu tak, aby był zgodny z konwencją Pep-8 - lub nawet stworzenie niestandardowej konwencji dla naszego stylu kodowania - możemy uniknąć konieczności kosztownego i czasochłonnego refaktoryzowania podczas łączenia kodu z różnych repozytoriów lub zespołów.

Dzięki temu współpraca będzie jeszcze sprawniejsza i bardziej wydajna. Ogólnie mówiąc, ChatGPT jest wszechstronnym narzędziem, które może poprawić jakość i utrzymanie naszej bazy kodu.

Jeśli poprosimy ChatGPT o napisanie wcześniejszego kodu przy użyciu standardu Pep-8, bezpośrednio da nam refaktoryzowany kod.

Czy możesz przepisać następujący kod za pomocą standardu Pep8

Główne wnioski

Mam nadzieję, że po przeczytaniu tego artykułu zdaliście sobie sprawę, że ChatGPT może być dla nas wsparciem w byciu bardziej produktywnym i tworzeniu jeszcze lepszej jakości produktów. Wiem, że łatwo jest wpaść w pułapkę myślenia, że AI ostatecznie przejmie nasze stanowiska pracy, jednak odpowiedni rodzaj AI może okazać się potężnym zasobem, który możemy wykorzystać w naszym imieniu.

Należy jednak pamiętać, że krytyczne myślenie jest tutaj nadal kluczowe, podobnie jak w pracy z naszymi „ludzkimi” kolegami.

Zanim więc pospiesznie wdrożysz odpowiedzi generowane przez AI, upewnij się, że najpierw poświęcisz czas na ich weryfikację i ocenę. Zaufaj mi, warto!

Daj znać, jeśli ChatGPT zaskoczy Cię jakimiś innymi ciekawymi funkcjami. Będę czytał w komentarzach :D I uwierz mi, dane zawsze mają lepszy pomysł.



Oryginał tekstu w języku angielskim przeczytasz tutaj.

<p>Loading...</p>