
Autor: 12.06.2024
5 sposobów na wykorzystanie ChatGPT w programowaniu
Jeśli choć trochę interesujesz się programowaniem, to pewnie kojarzysz narzedzie ChatGPT. Dzięki jego zdolnościom do analizowania tekstu, mamy potencjalne możliwości generowania oraz analizowania kodu. W tym artykule pokażemy Ci pięć ciekawych zastosowań ChatGPT w procesie programowania.
Pamiętaj, że kod zwrócony przez ChatGPT nie zawsze będzie idealny. Czasem rezultaty świetnie się wpasują w nasze oczekiwania, a czasem będą wymagały ręcznej ingerencji.
Zawszej staraj się weryfikować rezultaty zwrócone przez ChatGPT. Nie używaj kodu zwróconego przez to narzędze bez sprawdzenia czy spełnia Twoje oczekiwania.
1# Generowanie kodu
Jednym z podstawowych zastosowań jest generowanie od zera kodu, na podstawie wskazanych przez nas założeń. Może to być bardzo przydatne np. do wygenerowania funkcji.
Przykładowy prompt:
Napisz funkcję w Pythonie, która sortuje listę liczb w porządku rosnącym.
Odpowiedź ChatGPT
def sort_list(list):
return sorted(list)
Czasami będzie trzeba stworzyć bardziej szczegółowy prompt, aby CzatGPT dobrze zrozumiał, jaki kod ma stworzyć. Nie bój się pisać wprost o oczekiwanym rezultacie funkcji, parametrach jakie ma przyjmować itp.
2# Debugowanie
Kolejne zastosowanie to szukanie błędów w kodzie. ChatGPT może Ci pomóc w analizowaniu kodu pod kątem błędów oraz może zasugerować poprawki.
Przykładowy prompt:
Oto mój kod w pythonie. Próbuje dodać liczbę do stringa, co powoduje błąd. Jak mogę to naprawić
Oto kod, który przesyłamy do ChatGPT:
def add_numbers(a, b):
return a + b
result = add_numbers(10, '20')
A tak wygląda wynik, czyli kod poprawiony przez ChatGPT:
def add_numbers(a, b):
return a + int(b)
result = add_numbers(10, '20')
3# Pisanie testów jednostkowych
Testowanie to ważna część procesu tworzenia oprogramowania. Nie da się jednak ukryć , że pisanie testów jednostkowych to żmudne zajęcie. ChatGPT ma tutaj spore pole do działania. Całkiem nieźle sobie radzi z wykonywaniem takich właśnie monotonnych zadań, a to pozwala nam skupić się na rzeczach bardziej kreatywnych.
Przykładowy prompt:
Napisz testy jednostkowe w Pythonie dla funkcji która mnoży dwie liczby.
Odpowiedź ChatGPT
def multiply(a, b):
return a * b
# Test jednostkowy
import unittest
class TestMathOperations(unittest.TestCase):
def test_multiply(self):
self.assertEqual(multiply(2, 3), 6)
self.assertEqual(multiply(-1, 5), -5)
self.assertEqual(multiply(0, 100), 0)
if __name__ == '__main__':
unittest.main()
4# Pisanie dokumentacji
Opisywanie i dokumentowanie kodu to kolejna ważna czynność, która ma potencjał na automatyzację za pomocą ChatGPT. Spróbujmy więc stworzyć odpowiedni prompt:
Napisz dokumentację dla funkcji w pythonie, która dzieli dwie liczby i zwraca wynik.
Odpowiedź ChatGPT:
def divide(a, b):
"""
Dzieli dwie liczby.
:param a: Licznik
:param b: Mianownik
:return: Wynik dzielenia a przez b
:raises ValueError: Gdy mianownik jest równy zero
"""
if b == 0:
raise ValueError("Mianownik nie może być równy zero")
return a / b
5# Refaktoryzacja kodu
Prawdopodobnie kojarzysz na czym polega refaktoryzacja kodu. To proces, który ma za zadanie poprawić istniejący kod, zoptymalizować go, poprawić jego czytelność itd.
Przykładowy prompt:
Przepisz poniższy kod w Pythonie, aby był bardziej zorganizowany i zgodny z zasadami programowania obiektowego.
To jest kod przesłany do ChatGPT:
# Przed refaktoryzacją
def calculate_area(shape, width, height):
if shape == 'rectangle':
return width * height
elif shape == 'triangle':
return 0.5 * width * height
else:
return None
Tak wygląda odpowiedź ChatGPT:
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
class Triangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return 0.5 * self.width * self.height
def calculate_area(shape: Shape):
return shape.area()
Jak widać, ChatGPT poradził sobie z tym zadaniem całkiem nieźle. Oczywiście cały czas musisz pamiętać o konieczności kontrolowania rezultatów zwróconych przez to narzędzie.
Podsumowanie
ChatGPT, odpowiednio użyty, moze stanowić nieocenioną pomoc w programowaniu. Jego mocną stroną jest możliwość pisania żmudnych, powtarzalnych fragmentów takich jak testy jednostkowe czy dokumentacja. Spróbuj wykorzystać przykłady z artykułu jako inspirację do własnych poszukiwać i eksperymentów.