Lint
Lint adalah proses pengecekan kode atas kemungkinan terjadi kesalahan (error), termasuk dalam proses ini adalah mengecek kesesuaian terhadap arahan gaya penulisan kode (style guide) PEP8. Aplikasi yang digunakan untuk proses ini disebut linter. Integrasi linter dengan editor kode Anda akan membuat efisien dalam menulis kode Python. Pertimbangan ini karena keluaran atau output dari aplikasi linter hanya berupa teks singkat berupa keterangan dan kode Error atau Warning atau Kesalahan Konvensi Penamaan (Naming Conventions). Lint atau linting akan meminimalkan kode Anda mengalami error, salah satu contohnya karena kesalahan indentasi di Python. Sebelum kode Anda diproses oleh interpreter Python dengan IndentationError, lint akan memberitahukannya lebih dahulu ke Anda. Berikut akan dibahas tiga jenis aplikasi linter, silakan dicermati dahulu. Tidak harus semuanya diinstal/dicoba, hanya paket yang menurut Anda sesuai kebutuhan saja yang digunakan. Untuk menginstalnya, silakan buka terminal Anda dan jalankan kode di bawah ini sesuai yang Anda pilih. ::: info Catatan Output ketiga aplikasi ini kemungkinan mirip, tetapi pada kondisi tertentu akan ada output atau fitur yang mungkin sesuai dengan kebutuhan Anda menulis kode. :::- Pycodestyle (sebelumnya bernama pep8)
Pycodestyleadalah aplikasi open source (berlisensi MIT/Expat) untuk membantu mengecek kode terkait gaya penulisan kode dengan konvensi PEP8. Untuk instalasi, silakan buka terminal Anda dan jalankan kode berikut.
- Pylint
Pylintadalah aplikasi open source (berlisensi GPL v2) untuk melakukan analisis kode Python, mengecek untuk kesalahan (error) pemrograman, memaksakan standar penulisan kode dengan mengecek penulisan kode yang tidak baik, serta memberikan saran untuk refactoring sederhana. Untuk instalasi, silakan buka terminal Anda dan jalankan kode berikut.
- Flake8
Flake8adalah aplikasi open source (berlisensi MIT) yang membungkus sejumlah kemampuan aplikasi lain, seperti pycodestyle, pyflakes, dan (skrip/fitur) lainnya. Untuk instalasi, silakan buka terminal Anda dan jalankan kode berikut.
- Masuk ke kode editor Anda, misalnya Visual Studio Code.
-
Buat sebuah file bernama kalkulator.py dan masukkan kode berikut.
Pada kode di atas, kita membuat kelas bernama Kalkulator. Kelas ini memiliki dua metode, yaitu tambah dan kurang. Atribut yang dimiliki kelas ini hanyalah variabel “i”. Berdasarkan PEP8, kode tersebut masih perlu diperbaiki dan ada blok kode yang akan menghasilkan error. Kita akan mengetahuinya nanti.
-
Mari kita jalankan file atau script tersebut dengan aplikasi yang telah diinstal. Buka kembali terminal Anda, pastikan membuka direktori tempat file atau script Anda berada.
-
Pycodestyle
Untuk menguji menggunakan pycodestyle, jalankan kode berikut.Output yang dihasilkan adalah berikut.
Gambar di atas adalah tampilan terminal ketika Anda menjalankan script menggunakan pycodestyle.
-
Pylint
Untuk menguji menggunakan pylint, jalankan kode berikut.Output yang dihasilkan adalah berikut.
Gambar di atas adalah tampilan terminal ketika Anda menjalankan script menggunakan pylint
-
Flake8
Untuk menguji menggunakan flake8, jalankan kode berikut.Output yang dihasilkan adalah berikut.
Gambar di atas adalah tampilan terminal ketika Anda menjalankan script menggunakan flake8.
-
Pycodestyle
Untuk mengetahui mana baris dan kolom, perhatikan gambar di bawah ini.
Gambar di atas menunjukkan baris dan kolom dari kode yang telah kita buat sebelumnya. Kita ambil satu contoh, ketika menggunakan pylint pesan yang ditampilkan adalah “kalkulator.py 7:5 Parsing failed: ‘expected an indented block after function definition on line 6 (<unknown>, line 7)’ (syntax-error).”. Ini artinya pylint menunjukkan bahwa pada baris 7 kolom ke-5 seharusnya memiliki indentasi setelah mendefinisikan fungsi di baris ke-6.
Baik flake8 maupun pylint, keduanya memberikan pesan bahwa ada error indentasi, sedangkan pada pycodestyle format kode juga dicek sesuai PEP8 sehingga akan menghasilkan pesan yang berbeda, yakni error indentasi dan blank line.
Mari perbaiki kodenya, silakan ganti dengan kode berikut.
Namun, ketika Anda menjalankannya menggunakan pylint, beberapa pesan peringatan muncul. Hal ini karena kita perlu menambahkan dokumentasi pada setiap fungsi dan kelas yang dibangun. Tidak apa-apa, itu merupakan peringatan untuk membuat kode kita lebih sempurna.
