Farih.co.id
Home Programming Cara Lint Kode Python Menggunakan Flake8

Cara Lint Kode Python Menggunakan Flake8

pexels nina hill 9121365 2

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 menginstal Pip di mesin Anda terlebih dahulu.

  1. Jalankan perintah di bawah ini di terminal Anda untuk menginstal Flake8:
     pip install flake8
  2. Verifikasi bahwa Flake8 diinstal dengan menjalankan perintah berikut:
     flake8 --version
  3. 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.13 on
    Linux

Setelah 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.

 def greeting(name):
    print("Hello, " + name)

greeting("Alice")
 greeting("Bob")

Menjalankan Flake8 pada File Tunggal

Sintaks untuk menjalankan Flake8 pada satu file adalah sebagai berikut.

 flake8 path/to/file.py

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

 flake8 greeting.py

Flake8 harus mengembalikan pesan berikut yang menunjukkan ada kesalahan indentasi.

 greeting.py:5:1: E999 IndentationError: unexpected indent

Output ini menunjukkan bahwa baris 5 tidak perlu diindentasi. Untuk memperbaiki kesalahan lekukan ini, Anda perlu menghapus spasi dari awal baris ini.

 def greeting(name):
    print("Hello, " + name)

greeting("Alice")
greeting("Bob")

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

 greeting.py:4:1: E305 expected 2 blank lines after class or function definition, found 1
greeting.py:5:16: W292 no newline at end of file

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 banyak kasus, Anda ingin menganalisis banyak file.

Menjalankan Flake8 di Banyak File

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

 from greeting import greeting
def test_greet():
    assert greeting("Alice") == "Hello, Alice!"

Untuk menganalisis kedua file ini, jalankan perintah berikut.

 flake8 greeting.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:

 flake8 .

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:

 [flake8]

Kemudian tambahkan opsi yang ingin Anda konfigurasikan:

 [flake8]
max-line-length = 100
ignore = 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 --ignore 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.

IDE Python lain 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 dalam editor teks atau IDE Anda dan mengintegrasikannya ke dalam pipa integrasi berkelanjutan Anda untuk secara otomatis memeriksa kesalahan dan peringatan kode Anda sebelum Anda menggabungkannya ke cabang utama Anda.

Comment
Share:

Leave a Reply

Your email address will not be published. Required fields are marked *

Ad