Bagikan melalui


Merefaktor kode Python di Visual Studio

Menggunakan kembali kode yang ada dan memperbarui kode merupakan tugas umum bagi pengembang. Anda mungkin ingin merefaktor kode yang ada untuk tujuan lain dan menghemat waktu dengan tidak menulis semua kode baru. Anda mungkin ingin membersihkan kode untuk menghapus item yang tidak digunakan atau memperbarui impor serta metode agar sesuai dengan versi terbaru.

Visual Studio menyediakan beberapa perintah untuk membantu Anda mengubah dan membersihkan kode sumber Python anda secara otomatis:

Prasyarat

  • Studio Visual. Untuk menginstal produk, ikuti langkah-langkah di Menginstal Visual Studio.
  • Akses ke proyek kode Python dengan kode yang ada.

Mengganti nama kelas, metode, atau variabel

Anda dapat menggunakan perintah Ganti Nama untuk mengubah nama pengidentifikasi tertentu, termasuk kelas, metode, atau variabel. Visual Studio mendukung pembaruan semua instans pengidentifikasi atau hanya instans tertentu yang Anda tunjukkan.

Langkah-langkah berikut menunjukkan cara menggunakan perintah Ganti Nama dalam kode Anda.

  1. Dalam kode Anda, klik kanan pengidentifikasi yang ingin Anda ganti namanya dan pilih Ganti Nama. Anda juga dapat menempatkan tanda sisipan pada pengidentifikasi dan memilih Edit>Refaktor>Ganti Nama dari menu, atau menggunakan pintasan keyboard Ctrl+R.

  2. Dalam dialog Ganti Nama , ketik nama baru untuk pengidentifikasi diikuti dengan Enter:

    Cuplikan layar yang memperlihatkan cara menentukan nama yang berbeda untuk pengidentifikasi di Visual Studio 2022.

Menambahkan pernyataan impor

Jika Anda memiliki pengidentifikasi dalam kode yang kehilangan definisi atau informasi jenis pendukung, Visual Studio dapat membantu Anda memperbaiki masalah tersebut. Saat Anda menempatkan tanda sisipan pada pengidentifikasi yang tidak memiliki informasi, Visual Studio menampilkan tag cerdas (bola lampu) di sebelah kiri kode. Tag mencantumkan perintah untuk menambahkan pernyataan import atau from ... import yang diperlukan untuk pengidentifikasi yang sesuai.

Langkah-langkah berikut menunjukkan cara bekerja dengan tag pintar untuk menambahkan impor dalam kode Anda.

  1. Dalam kode Anda, letakkan kursor pada pengidentifikasi tempat Visual Studio memperlihatkan ikon pintar (bola lampu). Dalam contoh ini, tag pintar ditampilkan untuk panggilan ke modul matematika:

    Cuplikan layar yang memperlihatkan tag pintar untuk pengidentifikasi yang memerlukan pernyataan impor yang ditambahkan di Visual Studio 2022.

  2. Pada menu tag pintar, pilih perintah untuk menambahkan modul yang diperlukan atau ketik informasi ke file kode Anda. Dalam contoh ini, perintah untuk menambahkan perintah import math dipilih.

    Visual Studio menawarkan import penyelesaian untuk paket dan modul tingkat atas dalam proyek saat ini dan pustaka standar. Visual Studio juga menawarkan from ... import pelengkapan untuk submodul, subpaket, dan anggota modul. Penyelesaian mencakup fungsi, kelas, atau data yang diekspor.

  3. Setelah Anda memilih opsi, konfirmasikan perubahan yang diharapkan dilakukan pada file Anda.

    Visual Studio menambahkan import pernyataan di bagian atas file kode Anda setelah impor lain, atau ke pernyataan yang ada from ... import jika modul yang sama sudah diimpor. Dalam contoh ini, import math pernyataan ditambahkan di bagian atas file setelah impor lainnya:

    Cuplikan layar yang memperlihatkan pernyataan impor ditambahkan setelah menjalankan perintah dari tag pintar di Visual Studio 2022.

Visual Studio mencoba memfilter anggota yang tidak ditentukan dalam modul. Contohnya adalah sebuah modul yang diimpor ke modul lain yang bukan merupakan turunan dari modul pengimpor. Banyak modul menggunakan import sys pernyataan daripada from xyz import sys. Anda tidak melihat solusi untuk mengimpor modul sys dari modul lain, meskipun modul-modul tersebut kehilangan anggota __all__ yang mengecualikan modul sys.

Demikian pula, Visual Studio memfilter fungsi yang diimpor dari modul lain atau namespace bawaan. Jika modul mengimpor settrace fungsi dari sys modul, secara teori, Anda dapat mengimpor fungsi dari modul tersebut. Namun, pendekatan terbaik adalah menggunakan pernyataan secara langsung, sehingga Visual Studio secara khusus menawarkan pernyataan tersebut import settrace from sys .

Terakhir, misalkan modul biasanya dikecualikan, tetapi ada nilai lain yang tetap disertakan, seperti nama beserta nilai yang ditetapkan dalam modul. Visual Studio masih mengecualikan impor. Perilaku ini mengasumsikan nilai tidak boleh diekspor karena modul lain mendefinisikannya. Tugas lain kemungkinan adalah nilai dummy yang juga tidak diekspor.

Menghapus impor yang tidak digunakan

Saat Anda menulis kode, mudah untuk berakhir dengan import pernyataan untuk modul yang tidak digunakan. Karena Visual Studio menganalisis kode Anda, Visual Studio dapat secara otomatis menentukan apakah import pernyataan diperlukan dengan melihat apakah nama yang diimpor digunakan dalam cakupan setelah pernyataan terjadi.

Langkah-langkah berikut menunjukkan cara menghapus impor yang tidak digunakan dalam kode Anda.

  1. Dalam kode Anda, letakkan tanda sisipan pada import pernyataan di mana Visual Studio menampilkan tag pintar (bola lampu). Dalam contoh ini, tag pintar ditampilkan untuk modul binascii, array, dan glob yang tidak digunakan:

    Cuplikan layar yang memperlihatkan cara mengakses opsi untuk menghapus impor yang tidak digunakan di Visual Studio 2022.

  2. Pilih opsi Hapus semua impor yang tidak digunakan atau Hapus impor yang tidak digunakan untuk menghapus modul yang dipilih saja.

  3. Setelah Anda memilih opsi, konfirmasikan perubahan yang dibuat pada file Anda. Dalam contoh ini, Visual Studio menghapus tiga modul yang tidak digunakan: binascii, array, dan glob.

    Cuplikan layar yang memperlihatkan hasil penggunaan perintah Hapus semua impor yang tidak digunakan di Visual Studio 2022.

Pertimbangan saat menggunakan perintah pemfaktoran ulang

Sebelum Anda menggunakan perintah refaktor, tinjau hal-hal yang perlu dipertimbangkan berikut.

  • Setelah menjalankan perintah pemfaktoran ulang, Anda dapat mengembalikan perubahan dengan menggunakan perintah Edit>Batalkan . Perintah Ganti Nama menawarkan fitur Pratinjau , sehingga Anda dapat melihat perubahan sebelum diterapkan.

  • Visual Studio tidak memperhitungkan alur kontrol dalam kode Anda. Jika Anda menggunakan pengidentifikasi sebelum definisi pendukung ada dalam kode, seperti import pernyataan, Visual Studio masih memproses pengidentifikasi seperti yang digunakan. Visual Studio mengharapkan untuk menemukan definisi pendukung untuk pengidentifikasi sebelum Anda melakukan panggilan dan penugasan.

  • Visual Studio mengabaikan semua from __future__ pernyataan impor. Pernyataan ini adalah impor yang dilakukan di dalam definisi kelas atau dengan menggunakan from ... import * pernyataan.