Co narzędzie GitHub Copilot dodaje do procesu przeglądu
Przeglądy kodu i przeglądy żądań ściągnięcia są niezbędne dla jakości, ale mogą być również czasochłonne i niejednolite. Deweloperzy często żonglują wieloma językami, niespójnym formatowaniem i dużymi różnicami podczas próby przekazania przemyślanej opinii. GitHub Copilot pomaga zmniejszyć to obciążenie, działając jako wspólny recenzent i asystent. Przechwytuje typowe problemy, sporządza wersje robocze komentarzy do recenzji, podsumowuje żądania ściągnięcia, a nawet podkreśla zagrożenia bezpieczeństwa, dając recenzentom jasny punkt wyjścia. Dzięki niestandardowym instrukcjom przeglądu możesz pokierować Copilotem, aby obserwował te same wzorce, które sam obserwujesz, dzięki czemu zapewniasz spójność między zespołami i w repozytoriach.
Po ukończeniu tej jednostki będziesz w stanie:
- Rozpoznaj kluczowe cechy Copilot w przeglądach kodu.
- Wyjaśnij, jak jednostki PRU odblokowują zaawansowane możliwości przeglądu.
- Rozpoznawanie różnych sposobów przeglądu Copilot uzupełnia i pomaga deweloperom.
Kluczowe funkcje Copilot w przeglądach kodu
Copilot wprowadza kilka funkcji zaprojektowanych w celu usprawnienia przeglądów:
Podsumowania pull requestów: Copilot może automatycznie opracowywać opisy pull requestów, które zawierają wyraźne podsumowanie zmian i listę plików objętych zmianami. Dzięki temu recenzenci zaczynają się od kontekstu, a nie zgadywania.
Poprawki zabezpieczeń: Dzięki przeglądowi kodu Copilot zintegrowanemu ze skanowaniem kodu GitHub Code Scanning luki w zabezpieczeniach są wykrywane we wszystkich językach. Na przykład w języku JavaScript narzędzie Copilot może wykryć niesanitowane dane wejściowe przekazane do funkcji eval() i komentarz:
"eval() z danymi wejściowymi użytkownika może prowadzić do iniekcji kodu. Zastąp go bezpiecznym analizatorem, na przykład JSON.parse()." Następnie oferuje poprawkę śródliniową zgodną z wytycznymi dotyczącymi zabezpieczeń repozytorium.
Wyjaśnienia wierszy po wierszu: Recenzenci mogą wyróżniać kod i prosić Copilota o wyjaśnienie funkcjonalności, pomagając im szybko zrozumieć nieznany kod.
Komentarze do opracowania: Copilot może generować komentarze do przeglądu w oparciu o najlepsze rozwiązania lub wytyczne zespołu, dzięki czemu opinie są jasne i możliwe do wykonania.
Recenzje w IDE: Oprócz pracy bezpośrednio na GitHub.com, Copilot może również przeglądać kod w interfejsie IDE. Dzięki temu deweloperzy mogą wykrywać i rozwiązywać problemy przed otwarciem pull requestu, co przyspiesza proces i zmniejsza konieczność ponownej pracy.
Dowiedz się, jak jednostki przeglądu kodu (PRUs) odblokowują zaawansowane funkcje przeglądu
Jednostki PRU zasilają te zaawansowane możliwości. Na przykład przypisanie Copilot jako recenzenta PR wykorzystuje jednostkę PRU za każdym razem, gdy publikuje komentarze. Po połączeniu z plikami niestandardowymi .github/copilot-instructions.md recenzje oparte na PRU są zgodne z zasadami waszego zespołu, niezależnie od tego, czy są ukierunkowane na czytelność, bezpieczeństwo, czy styl.
Przykład:
Bez Copilot żądanie ściągnięcia może zawierać niejasne komentarze recenzenta, takie jak "Rozwiąż problem z zabezpieczeniami tutaj". Dzięki pomocy Copilot i PRU przegląd staje się:
Użycie exec() prowadzi do podatności na wstrzyknięcie kodu. Rozważ zastąpienie go za pomocą subprocess.run() w celu bezpieczniejszego wykonania polecenia. Oto sugerowana poprawka:"
Zapewnia poprawkę kodu wewnątrz kodu.
Pięć różnych sposobów przeglądu Copilot pomaga deweloperom
Następnie sprawdzimy, w jaki sposób recenzja Copilot może pomóc Ci pracować bardziej inteligentnie z:
- Sugestie dotyczące przeglądu kodu
- Analizy Copilot w wielu językach
- Formatowanie danych w żądaniach ściągnięcia
- Pisanie skutecznych podsumowań próśb o zmiany
- Objaśnianie i przeglądanie kodu
Korzystanie z propozycji Copilot w przeglądach kodu
Podczas przeglądania pull requestu możesz dostrzec obszary, które można ulepszyć, ale nie masz czasu na samodzielne opracowanie idealnego przykładu lub fragmentu kodu. GitHub Copilot pomaga wypełnić tę lukę bez przejęcia pracy autora. Wewnątrz widoku żądania ściągnięcia "Pliki zmienione" możesz wyróżnić wiersz lub blok kodu i poprosić Copilot o sugerowanie ulepszeń lub flagowanie potencjalnych problemów. Copilot następnie generuje konkretną, kontekstową sugestię, którą można skopiować do komentarza do przeglądu, co ułatwia autorowi podejmowanie działań.
Na przykład podczas przeglądania pliku Ruby z powtarzaną logiką można wyróżnić odpowiednie wiersze i zapytać:
"Zasugeruj czystszą refaktoryzację języka Ruby dla tego powtarzającego się kodu".
Copilot zaproponuje zaktualizowaną wersję zgodną z typowymi najlepszymi rozwiązaniami języka Ruby. Możesz wkleić jego zalecenie (lub jego części) do komentarza do przeglądu wraz z własnym wyjaśnieniem. Dzięki temu można skupić się na ogólnej jakości i projektowaniu, jednocześnie zapewniając autorowi możliwość działania, opinię o wysokiej wartości bez rozmycia linii między przeglądaniem i kodowaniem w ich imieniu.
Przegląd w wielu językach
Gdy zażądasz przeglądu kodu, copilot może automatycznie wyróżnić obszary, które nie są zgodne z najlepszymi rozwiązaniami lub wytycznymi zespołu
Copilot szybko wygeneruje ulepszenia zgodne z konwencjami języka, co pozwala na przekazanie lepszych, bardziej precyzyjnych informacji zwrotnych nawet poza podstawowym obszarem wiedzy.
Formatowanie danych dla pull requestów
Pull requesty są znacznie jaśniejsze, gdy zawierają dobrze sformatowany kontekst, taki jak metryki, zrzuty ekranu lub wyniki testów. Jednak zespoły często zapominają o spójnym formatowaniu tej zawartości. GitHub Copilot może działać jako drugi zestaw oczu podczas przeglądu kodu, automatycznie flagując słabo sformatowane tabele w opisie żądania ściągnięcia i proponując czystszą wersję zgodną z wytycznymi dotyczącymi stylu firmy.
Przykład: deweloper składa pull request z następującą tabelą czasów ładowania strony. Trudno jest odczytać i nie podąża za przewodnikiem stylu języka Markdown zespołu:
| Przebieg testu | CzasŁadowaniaPrzed | CzasŁadowaniaPo |
|---|---|---|
| 1.3 | 1.2 | |
| 1.2 | 1.1 | |
| 1.1 | 0.885 | |
| 1.3 | 1.3 | |
| 1.2 | 0.918 | |
| Average | 1.22 | 1.0806 |
Podczas przeglądu Copilot publikuje komentarz:
"Ta tabela nie jest zgodna z wytycznymi języka Markdown repozytorium. Oto wyczyszczona wersja oparta na przewodniku stylu firmy.
Ponadto zawiera poprawioną wersję gotową do wklejenia do opisu PR:
| Przebieg testu | Czas ładowania przed (w sekundach) | Czas ładowania po aktualizacji (w sekundach) |
|---|---|---|
| 1 | 1.3 | 1.2 |
| 2 | 1.2 | 1.1 |
| 3 | 1.1 | 0.885 |
| 4 | 1.3 | 1.3 |
| 5 | 1.2 | 0.918 |
| Średnia | 1.22 | 1.0806 |
Recenzent może zaakceptować sugestię Copilot jednym kliknięciem, zapewniając, że żądanie ściągnięcia jest zgodne ze stylem firmy bez poświęcania czasu na ponowne sformatowanie.
Pokazuje to, że Copilot działa jako automatyczny recenzent (a nie agent do kodowania): widzi niesformatowaną tabelę, stosuje wytyczne firmy z .github/copilot-instructions.md, i dostarcza poprawioną wersję bezpośrednio w tekście.
Pisanie skutecznych podsumowań pull requestów
Pisanie opisów pull requestów jest często ostatnim krokiem w procesie i może wydawać się przeszkodą. Copilot ułatwia to. W edytorze opisu pull requesta możesz użyć ikony Copilot, aby wygenerować szkic podsumowania lub konspektu. Nawet jeśli wprowadzisz zmiany, dobrze ustrukturyzowany punkt wyjścia oszczędza czas i zapewnia recenzentom uzyskanie potrzebnych informacji.
Wyjaśnianie i przeglądanie kodu
Czasami kod w pull request może być ci nieznany. Zamiast zmagać się z nim, możesz poprosić Copilota o wyjaśnienie zmian. Copilot może również uruchomić wstępną recenzję własnych żądań ściągnięcia, zanim poprosisz o opinię od kolegów z drużyny. Pomaga to wychwytywać mniejsze problemy, weryfikować najlepsze rozwiązania i zapewnić większą pewność jakości przesyłania.
Teraz wiesz, co Copilot jest w stanie, jeśli chodzi o przeglądy kodu. Następnie zobaczmy, jak używać przeglądów Copilot bezpośrednio na GitHub.com.