Bersihkan basis kode Anda dengan alat baris perintah yang mudah digunakan ini.

Alat linting adalah sumber daya berharga yang dapat membantu Anda menangkap kesalahan dan ketidakkonsistenan dalam kode Anda.

Flake8 adalah salah satu alat linting paling populer untuk Python. Ini mengidentifikasi kesalahan sintaksis dan pemformatan dalam kode Anda, bersama dengan masalah lain seperti impor yang tidak digunakan. Ini sangat fleksibel karena, meskipun memiliki aturan default, Anda dapat mengubahnya atau menambahkannya agar sesuai dengan kebutuhan Anda.

Anda juga dapat mengonfigurasi Flake8 untuk dijalankan saat Anda menyimpan pembaruan ke kode Anda menggunakan VS Code. Semua fitur ini menjadikannya alat yang berharga untuk dimiliki saat menulis program Python.

Memasang Serpihan8

Ikuti langkah-langkah di bawah ini untuk menginstal Flake8 di lingkungan pengembangan Anda. Anda mungkin perlu instal Pip di mesin Anda Pertama.

  1. Jalankan perintah di bawah ini di terminal Anda untuk menginstal Flake8:
    pip instal flake8
  2. instagram viewer
  3. Verifikasi bahwa Flake8 diinstal dengan menjalankan perintah berikut:
    flake8 --versi
  4. Jika Flake8 diinstal dengan benar, Anda akan melihat output yang mirip dengan berikut ini:
    4.0.1 (mccabe: 0.6.1, pycodestyle: 2.8.0, pyflakes: 2.4.0) CPython 3.9.13pada
    Linux

Setelah Anda berhasil menginstal Flake8, Anda dapat mulai menggunakannya.

Menggunakan Flake8 untuk Menganalisis Kode Python

Untuk memahami cara menggunakan Flake8, mulailah dengan kode berikut. Ini memiliki beberapa kesalahan yang disengaja. Salin ke dalam file bernama salam.py.

defsalam(nama):
mencetak("Halo, " + nama)

salam("Alice")
 salam("Bob")

Menjalankan Flake8 pada File Tunggal

Sintaks untuk menjalankan Flake8 pada satu file adalah sebagai berikut.

jalur flake8/ke/file.py

Dalam contoh ini, navigasikan ke direktori yang berisi file greting.py dan jalankan perintah berikut.

flake8 salam.py

Flake8 harus mengembalikan pesan berikut yang menunjukkan ada kesalahan indentasi.

salam.py:5:1: E999IndentationError: tidak terdugalekukan

Output ini menunjukkan bahwa baris 5 tidak perlu diindentasi. Ke perbaiki kesalahan indentasi ini, Anda perlu menghapus spasi dari awal baris ini.

defsalam(nama):
mencetak("Halo, " + nama)

salam("Alice")
salam("Bob")

Sekarang saat Anda menjalankan Flake8, Anda akan mendapatkan peringatan berikut.

salam.py:4:1: E305mengharapkan 2 kosongbarissetelahkelasataufungsidefinisi, ditemukan 1
salam.py:5:16: W292TIDAKgaris barupadaakhirdarimengajukan

Keluaran ini menunjukkan masalah berikut:

  • Pada baris 4, harus ada dua baris kosong setelah definisi fungsi sapaan, tetapi hanya ada satu.
  • Pada baris 5, harus ada baris baru di akhir file.

Setelah Anda memperbaiki masalah ini, flake8 tidak akan mengembalikan pesan apa pun.

Sejauh ini, kami hanya menganalisis satu file tetapi dalam kebanyakan kasus, Anda ingin menganalisis banyak file.

Menjalankan Flake8 di Banyak File

Katakanlah Anda memiliki panggilan lain test_greeting.py yang berisi kode berikut:

dari salam impor salam
deftest_greet():
menegaskan salam("Alice") == "Halo, Alice!"

Untuk menganalisis kedua file ini, jalankan perintah berikut.

flake8 salam.py test_greeting.py

Metode ini berfungsi tetapi jika Anda memiliki lebih dari dua file, mengetikkan nama file mungkin melelahkan dan rawan kesalahan.

Lebih efisien menggunakan perintah berikut untuk menganalisis semua file di direktori saat ini:

serpihan8.

Memahami Kesalahan dan Peringatan Flake8

Flake8 melaporkan dua jenis masalah:

  • Kesalahan: Kesalahan menunjukkan sintaks atau masalah struktural yang mencegah kode Anda berjalan seperti kesalahan lekukan dari contoh greeting.py.
  • Peringatan: Peringatan menunjukkan potensi masalah atau pelanggaran pedoman gaya PEP 8 seperti peringatan "tidak ada baris baru di akhir file" dari contoh greeting.py.

Beberapa kesalahan umum dan peringatan adalah:

  • E101: lekukan berisi spasi dan tab campuran.
  • E302: diharapkan 2 baris kosong, ditemukan 0.
  • E999 IndentationError: indentasi tak terduga.
  • W291: membuntuti spasi putih.
  • E501: baris terlalu panjang (maksimum 79 karakter).
  • F401: modul diimpor tetapi tidak digunakan.

Ketika Anda menjalankan Flake8 itu akan menampilkan pesan seperti yang ditunjukkan di atas dan nomor baris, dan lokasi kode referensi pesan. Ini membantu Anda mengetahui di mana tepatnya kode Anda memiliki masalah yang menghemat waktu debug Anda.

Konfigurasi Flake8

Untuk beberapa proyek, aturan Flake8 mungkin terlalu kaku. Dalam kasus ini, Flake8 memungkinkan Anda mengonfigurasinya dan menyesuaikan perilakunya agar sesuai dengan kebutuhan Anda.

Anda dapat memberikan opsi konfigurasi seperti:

  • Mengabaikan kesalahan atau peringatan tertentu.
  • Mengatur panjang garis maksimum.
  • Menentukan aturan tambahan.

Untuk mendemonstrasikan, buat file konfigurasi bernama setup.cfg. Anda juga dapat menambahkan opsi konfigurasi ke file bernama tox.ini, atau .flake8.

Dalam file ini, mulailah dengan membuat bagian flake8 sebagai berikut:

[serpihan8]

Kemudian tambahkan opsi yang ingin Anda konfigurasikan:

[serpihan8]
max-line-panjang = 100
abaikan = F401

Dalam contoh ini, max-line-length = 100 memberi tahu Flake8 untuk mengeluarkan peringatan untuk setiap baris dalam file kode sumber Anda yang panjangnya melebihi 100 karakter. abaikan = F401 memberi tahu Flake8 untuk mengabaikan kesalahan terkait impor yang tidak digunakan.

Anda tidak perlu menambahkan opsi ini ke file konfigurasi karena Anda dapat memanggilnya di baris perintah seperti ini:

flake8 --abaikan E203 --max-line-length 100

Menggunakan file konfigurasi adalah pendekatan terbaik karena Anda tidak perlu menentukan opsi yang sama setiap kali Anda menggunakan flake8.

Menggunakan Flake8 dalam Kode VS

Jika Anda menggunakan VS Code untuk menulis aplikasi Python, Anda dapat menggunakan ekstensi flake8 untuk melakukan lint pada file Python saat Anda mengetik.

Pertama, Anda perlu menginstal ekstensi flake8 dari pasar VS Code. Selanjutnya untuk mengkonfigurasinya buka pengaturan VS Code, lalu cari "python.linting.flake8Enabled" dan aktifkan linting dengan flake8.

Anda sekarang akan melihat kesalahan dan peringatan yang disorot dalam kode Anda dengan garis berlekuk-lekuk saat Anda menulisnya. Mengarahkan kursor ke teks yang disorot akan menampilkan pesan yang menjelaskan masalah dan menyarankan kemungkinan perbaikan.

Lainnya IDE Python seperti Pycharm juga memiliki ekstensi Flake8 yang dapat Anda konfigurasikan untuk menyederhanakan proses linting.

Mengapa Anda Harus Menggunakan Linter?

Saat Anda menulis kode, Anda mungkin menemukan kesalahan dan ketidakkonsistenan yang menyebabkan aplikasi Anda gagal atau mengalami masalah kinerja. Linter seperti Flake8 memungkinkan Anda mengetahui beberapa masalah ini sebelumnya, membantu Anda menulis kode yang lebih bersih. Mengintegrasikannya ke dalam alur kerja pengembangan Anda sangatlah penting.

Anda dapat melakukan ini dengan menggunakannya di dalam editor teks atau IDE Anda dan mengintegrasikannya ke dalam continuous alur integrasi untuk secara otomatis memeriksa kesalahan dan peringatan kode Anda sebelum Anda menggabungkannya ke cabang utama.