Refaktoryzacja kodu w języku Python w programie Visual Studio
Ponowne tworzenie istniejącego kodu i odświeżanie kodu to typowe zadania dla deweloperów. Możesz chcieć refaktoryzować istniejący kod w innym celu i zaoszczędzić czas, nie pisząc całego nowego kodu. Możesz wyczyścić kod, aby usunąć nieużywane elementy lub odświeżyć importy i metody, aby były aktualne w najnowszych wersjach.
Program Visual Studio udostępnia kilka poleceń, które ułatwiają automatyczne przekształcanie i czyszczenie kodu źródłowego języka Python:
- Zmień nazwę wybranej klasy, metody lub zmiennej.
- Dodawanie importu udostępnia tag inteligentny, aby dodać brakujący import.
- Usuń nieużywane importy usuwa nieużywane importy .
Wymagania wstępne
- Visual Studio. Aby zainstalować produkt, wykonaj kroki opisane w temacie Instalowanie programu Visual Studio.
- Dostęp do projektu kodu w języku Python przy użyciu istniejącego kodu.
Zmienianie nazwy klasy, metody lub zmiennej
Możesz użyć polecenia Zmień nazwę, aby zmienić nazwę określonego identyfikatora, w tym klasę, metodę lub zmienną. Program Visual Studio obsługuje aktualizowanie wszystkich wystąpień identyfikatora lub tylko określonych wystąpień, które wskazujesz.
W poniższych krokach pokazano, jak użyć polecenia Rename w kodzie.
W kodzie kliknij prawym przyciskiem myszy identyfikator, którego nazwę chcesz zmienić, a następnie wybierz polecenie Zmień nazwę. Możesz również umieścić karetki na identyfikatorze i wybrać pozycję Edytuj>zmianę nazwy refaktoryzacji>z menu lub użyć skrótu klawiaturowego F2.
W oknie dialogowym Zmienianie nazwy wprowadź nową nazwę identyfikatora i wybierz przycisk OK:
W następnym oknie dialogowym wybierz pliki i wystąpienia w kodzie, które powinny używać nowej nazwy. Możesz wybrać pojedyncze wystąpienie, aby wyświetlić podgląd określonej zmiany:
Wybierz pozycję Zastosuj , aby wprowadzić zmiany w plikach kodu źródłowego.
W kodzie kliknij prawym przyciskiem myszy identyfikator, którego nazwę chcesz zmienić, a następnie wybierz polecenie Zmień nazwę. Możesz również umieścić karetki na identyfikatorze i wybrać pozycję Edytuj>zmianę nazwy refaktoryzacji>z menu lub użyć skrótu klawiaturowego Ctrl+R.
W oknie dialogowym Zmienianie nazwy wpisz nową nazwę identyfikatora, a następnie wprowadź:
Dodawanie instrukcji import
Jeśli w kodzie brakuje identyfikatorów lub pomocniczych informacji o typie, program Visual Studio może pomóc w rozwiązaniu problemu. W przypadku umieszczania karetki na identyfikatorze, który nie zawiera informacji, program Visual Studio wyświetla tag inteligentny (żarówka) po lewej stronie kodu. Tag wyświetla polecenia umożliwiające dodanie niezbędnych import
instrukcji lub from ... import
dla odpowiedniego identyfikatora.
W poniższych krokach pokazano, jak pracować z tagiem inteligentnym, aby dodać importy w kodzie.
W kodzie umieść karetę na identyfikatorze, dla którego program Visual Studio wyświetla tag inteligentny (żarówka). W tym przykładzie tag inteligentny wyświetla wywołanie modułu matematycznych:
W menu tagu inteligentnego wybierz polecenie , aby dodać niezbędny moduł lub wpisz informacje do pliku kodu. W tym przykładzie wybrano polecenie , aby dodać instrukcję
import math
.Program Visual Studio oferuje
import
uzupełnianie pakietów i modułów najwyższego poziomu w bieżącym projekcie i bibliotece standardowej. Program Visual Studio oferujefrom ... import
również uzupełnianie modułów podrzędnych i podpakietów oraz elementów członkowskich modułu. Ukończenia obejmują funkcje, klasy lub wyeksportowane dane.Po wybraniu opcji upewnij się, że oczekiwana zmiana zostanie wprowadzona do pliku.
Program Visual Studio dodaje instrukcję
import
w górnej części pliku kodu po innych importach lub do istniejącejfrom ... import
instrukcji, jeśli ten sam moduł został już zaimportowany. W tym przykładzie instrukcjaimport math
jest dodawana w górnej części pliku po innych importach:
Program Visual Studio próbuje odfiltrować członków, które nie są zdefiniowane w module. Przykładem jest zaimportowany moduł do innego modułu, który nie jest elementem podrzędnym modułu importu. Wiele modułów używa instrukcji import sys
, a nie from xyz import sys
. Nie widzisz ukończenia importowania modułu sys
z innych modułów, nawet jeśli w modułach brakuje __all__
elementu członkowskiego wykluczającego sys
moduł.
Podobnie program Visual Studio filtruje funkcje importowane z innych modułów lub wbudowanej przestrzeni nazw. Jeśli moduł importuje settrace
funkcję z modułu sys
, teoretycznie możesz zaimportować funkcję z tego modułu. Najlepszym rozwiązaniem jest jednak bezpośrednie użycie instrukcji import settrace from sys
, więc program Visual Studio oferuje tę instrukcję.
Na koniec załóżmy, że moduł jest zwykle wykluczony, ale zawiera inne wartości, które są dołączane jak nazwa przypisana z wartością w module. Program Visual Studio nadal wyklucza importowanie. To zachowanie zakłada, że wartość nie powinna być eksportowana, ponieważ definiuje go inny moduł. Innym przypisaniem może być fikcyjna wartość, która również nie jest eksportowana.
Usuń nieużywane importy
Podczas pisania kodu można łatwo użyć import
instrukcji dla modułów, które w ogóle nie są używane. Ponieważ program Visual Studio analizuje kod, może automatycznie określić, czy instrukcja jest potrzebna, sprawdzając, czy import
zaimportowana nazwa jest używana w zakresie po wystąpieniu instrukcji .
W poniższych krokach pokazano, jak usunąć nieużywane importy w kodzie.
Użyj prawym przyciskiem myszy w dowolnym miejscu w edytorze i wybierz polecenie Usuń importy. Importowanie można usunąć ze wszystkich zakresów lub tylko bieżący zakres.
Program Visual Studio określa, czy w kodzie istnieją nieużywane moduły i usuwa odpowiednie
import
instrukcje.Po wybraniu opcji upewnij się, że oczekiwane zmiany zostaną wprowadzone w pliku. W tym przykładzie program Visual Studio usuwa trzy nieużywane moduły: binascii, array i glob.
W kodzie umieść karetę
import
na instrukcji, dla której program Visual Studio wyświetla tag inteligentny (żarówka). W tym przykładzie tag inteligentny jest wyświetlany dla nieużywanych modułów binascii, tablicy i glob:Wybierz opcję Usuń wszystkie nieużywane importy lub Usuń nieużywane importowanie, aby usunąć tylko wybrany moduł.
Po wybraniu opcji upewnij się, że zmiany zostaną wprowadzone w pliku. W tym przykładzie program Visual Studio usuwa trzy nieużywane moduły: binascii, array i glob.
Zagadnienia dotyczące używania poleceń refaktoryzacji
Przed użyciem poleceń refaktoryzacji zapoznaj się z poniższymi zagadnieniami.
Po uruchomieniu polecenia refaktoryzacji można przywrócić zmiany za pomocą polecenia Edytuj>cofnij. Polecenie Zmień nazwę oferuje funkcję w wersji zapoznawczej , dzięki czemu można zobaczyć zmiany przed ich zastosowaniem.
Program Visual Studio nie uwzględnia przepływu sterowania w kodzie. Jeśli używasz identyfikatora przed obecnością definicji pomocniczej w kodzie, takim jak
import
instrukcja, program Visual Studio nadal przetwarza identyfikator jako używany. Program Visual Studio oczekuje znalezienia definicji pomocniczych dla identyfikatorów przed wykonaniem wywołań i przypisań.Program Visual Studio ignoruje wszystkie
from __future__
instrukcje importowania. Te instrukcje to importy wykonywane wewnątrz definicji klasy lub zafrom ... import *
pomocą instrukcji .