Produkty AI zrewolucjonizowały współczesne tworzenie oprogramowania i kodowanie. Wykorzystując sztuczną inteligencję możemy automatycznie generować kody programistyczne oraz korygować je i optymalizować Refaktoryzacja kodu . W tym artykule przyjrzymy się procesowi refaktoryzacji i zobaczymy, jak możesz to zrobić użyj drugiego pilota do kodu refraktora .
Co to jest refaktoryzacja kodu?
W tworzeniu oprogramowania lub aplikacji refaktoryzacja kodu odnosi się do rekonstrukcji lub zmiany układu kodu źródłowego programu przy zachowaniu jego oryginalnej funkcjonalności. Proces ten ma na celu ulepszenie struktury i projektu oprogramowania oraz zmniejszenie złożoności. Integracja sztucznej inteligencji z refaktoryzacją kodu pomogła nam szybko zidentyfikować problemy z wydajnością oprogramowania i ułatwić stosowanie skomplikowanych algorytmów w celu poprawy ogólnej wydajności.
Jak Copilot może pomóc w refaktoryzacji kodów?
Może przeanalizować konkretną sekcję kodu i dostarczyć sugestie dotyczące ulepszenia jego struktury do czystszego i przyjaznego dla użytkownika formatu, aby zmniejszyć złożoność. Podane zalecenia opierają się na następujących kwestiach:
- Zidentyfikuj problemy z istniejącym kodem: Copilot skanuje cały plik kodu, aby wyróżnić sekcje lub obszary wymagające refaktoryzacji, wskazując zduplikowane kody, nieużywane lub niejasne zmienne itp.
- Zaproponuj skuteczne opcje: Podczas refaktoryzacji kodu Copilot analizuje istniejący kod i sugeruje wydajne alternatywy, które mogą dać te same wyniki, ale sprawić, że kod będzie wyglądał na czystszy. Zalecenia te obejmują efektywne używanie języka do nadawania nazw zmiennym, metodom i strukturom danych.
- Upewnij się, że kod jest możliwy do utrzymania: Informacje zwrotne w czasie rzeczywistym pomagają nam uniknąć uwzględniania jakichkolwiek błędów. Sugestie zazwyczaj opierają się na najlepszych praktykach w zakresie zasad programowania, które mogą pomóc w utrzymaniu prawidłowej struktury kodu, ułatwiając innym zrozumienie i modyfikację w razie potrzeby.
Jak używać drugiego pilota do kodu refraktora
Aby użyć Copilot do refaktoryzacji, możemy zacząć od instalowanie GitHub Copilot rozszerzenie dla danego języka (VS Code, Python itp.). Przykładowo, jeśli chcemy zrekonstruować kod źródłowy napisany w Pythonie, możemy zainstalować wtyczkę Copilot w następujący sposób:
- Kliknij, aby otworzyć opcję Ustawienia w zintegrowanym środowisku programistycznym lub IDE (JavaScript lub Python).
- Kliknij opcję wtyczki po lewej stronie.
- Kliknij na Rynek opcję i wyszukaj Drugi pilot GitHuba podłącz.
- Po zlokalizowaniu kliknij zainstalować aby zainstalować wtyczkę.
- Po zakończeniu instalacji IDE wyświetli monit o ponowne uruchomienie. Po ponownym uruchomieniu otwórz IDE i kliknij Narzędzia -> GitHub Copilot -> Zaloguj się do GitHub.
- Po pomyślnym zalogowaniu Copilot będzie gotowy do użycia.
- Aby skorzystać z Copilota, podczas pisania kodu można użyć poniższych skrótów
Działanie | Windows/Linux | System operacyjny Mac |
Wyzwalaj sugestie wbudowane | Alt+\ | Opcja+\ |
Zobacz następną sugestię | Alt+] | Opcja+] |
Zobacz poprzednią sugestię | Alt+[ | Opcja+[ |
Zaakceptuj sugestię | Patka | Patka |
Odrzuć sugestię wbudowaną | wyjście | wyjście |
Pokaż wszystkie sugestie w nowej karcie | Alt+Enter | Alt+Enter |
Powiązany: Jak wyświetlić kod pobrany z GitHub
port usb c nie działa w systemie Windows 10
Przykład 1: Aby uprościć złożony kod
Rozważmy poniższy fragment kodu, aby zademonstrować, jak można uprościć złożony kod za pomocą funkcji refaktoryzacji w rozwiązaniu Copilot. Tutaj rozważamy tylko część większego programu dla ułatwienia zrozumienia:
Przed refaktoryzacją
bootcamp kliknij prawym przyciskiem myszy
public void processOrder(Order order) { // ... further codes if (order.isReadyForProcessing()) { // process the order } //... further codes }
Po refaktoryzacji za pomocą Copilot
public void processOrder(Order order) { // ...further codes processReadyOrder(order); // ...further codes }
private void processReadyOrder(Order order) { if (order.isReadyForProcessing()) { // process the order } }
W powyższym przykładzie pierwszy zestaw kodów (Przed refaktoryzacją) składa się z funkcji lub metody o nazwie procesZamówienie, który realizuje etapy realizacji konkretnego zamówienia. Przed realizacją zamówienia instrukcja warunkowa IF sprawdza, czy zamówienie jest gotowe do realizacji, czy nie korzysta z if (order.isReadyForProcessing()) funkcjonować. W tym zestawie kodów logika przetwarzania jest zawarta w funkcji podstawowej, dzięki czemu jest mniej modułowa.
W poniższym fragmencie kodu mamy procesZamówienie funkcja umożliwiająca realizację zamówienia. Jednakże logika sprawdzania czy zamówienie jest gotowe do realizacji oraz realizacji gotowego zamówienia została przeniesiona do osobnej funkcji o nazwie procesReadyOrder. Pomaga to wyizolować każdą metodę, aby zapewnić przejrzystość i modułowość kodu.
Przykład 2: Zmiana nazwy zmiennej
Przed refaktoryzacją
def calculate_area(l, w): return l * w
Po refaktoryzacji za pomocą Copilot
def calculate_area(length, width): return length * width
Jednak po refaktoryzacji zmienne „l” i „w” zostały zastąpione długością i szerokością, co zwiększyło przejrzystość kodu poprzez zmianę nazw zmiennych jako istotną cechę refaktoryzacji.
Mimo że Copilot może nam pomóc zrekonstruować kod, ma kilka ograniczeń, takich jak nieprawidłowe sugestie, nadmierne zaufanie i refraktowanie nieaktualnych kodów. Gdy już otrzymasz sugestie, upewnij się, że wykonałeś wszystkie ręczne kontrole i użyj właściwych podpowiedzi.
Na jakich danych przeszkolono GitHub Copilot?
GitHub Copilot został przeszkolony w zakresie tekstu w języku naturalnym i kodu źródłowego z publicznie dostępnych źródeł, w tym kodu w publicznych repozytoriach na GitHub. Opiera się na generatywnych modelach sztucznej inteligencji opracowanych przez GitHub, OpenAI i Microsoft.
Jakie są kompatybilne języki programowania dla Copilot?
Github Copilot obsługuje różne języki, ale szczególnie dobrze współpracuje z JavaScript, TypeScript, Ruby, Python, Go, C++ i C#.