Cara Memformat Kode di Python
Bila proses lint atau linting hanya berfungsi untuk melakukan verifikasi terhadap petunjuk gaya penulisan kode, maka dapat dipertimbangkan penggunaan aplikasi tambahan untuk memformat kode agar memenuhi standar PEP8.
Hal ini memungkinkan bagi pengguna editor kode yang sederhana dan minim fitur, bahkan tanpa fasilitas linting, untuk tetap menghasilkan kode yang sesuai dengan konvensi PEP8.
Proses memformat kode menggunakan aplikasi cukup mudah. Setelah terpasang, aplikasi akan menampilkan perintah dengan nama yang sama dengan aplikasi tersebut. Perintah ini dapat digunakan untuk memformat satu file atau satu direktori kode Python.
Dalam pembahasan berikut, akan dibahas 3 jenis aplikasi untuk memformat kode. Kamu tidak perlu menginstal semuanya, cukup pilih paket yang menurut kamu sesuai dengan kebutuhan.
Black
Proyek open source bernama Black dikembangkan di repository Python Software Foundation (PSF) dengan lisensi MIT. Jika ingin melihat versi online (tidak resmi), dapat ditemukan di https://black.now.sh. Untuk melakukan instalasi, gunakan manajer paket pip dengan perintah: pip install black.
YAPF (Yet Another Python Formatter)
YAPF adalah proyek open source yang dibangun di repository Google dengan lisensi Apache. Jika ingin melihat contoh penggunaan, versi online (tidak resmi) tersedia di https://yapf.now.sh. Untuk melakukan instalasi, gunakan manajer paket pip dan ketikkan perintah berikut: pip install yapf.
Autopep8
Autopep8, yang berlisensi MIT, adalah salah satu proyek open source yang pertama untuk memformat kode dengan bantuan lint pycodestyle. Untuk melakukan instalasi, gunakan manajer paket pip dengan perintah berikut: pip install autopep8.
Contoh kode yang akan kita gunakan adalah kal.py yang berisi sebuah class Kalkulator sebelum di perbaiki dan diperiksa dengan linting, sebagai contoh:
class Kalkulator:
"""kalkulator tambah kurang"""
def __init__(self, _i=0):
self.i = _i
def tambah(self, _i): return self.i + _i
def kurang(self, _i):
return self.i - _i
Dibawah ini adalah hasil kode kal.py setelah diolah dengan black, melalui perintah: black kal.py.
class Kalkulator:
"""kalkulator tambah kurang"""
def __init__(self, _i=0):
self.i = _i
def tambah(self, _i):
return self.i + _i
def kurang(self, _i):
return self.i - _i
Setelah itu, jika dieksekusi dengan menggunakan yapf, isi dari file kal.py tidak langsung diubah, melainkan ditampilkan pada layar dengan menjalankan perintah: yapf kal.py.
class Kalkulator:
"""kalkulator tambah kurang"""
def __init__(self, _i=0):
self.i = _i
def tambah(self, _i):
return self.i + _i
def kurang(self, _i):
return self.i - _i
Menggunakan autopep8 untuk memproses kode, sama seperti menggunakan yapf, tidak langsung mengubah isi file kal.py tetapi menampilkan hasilnya di layar. Caranya adalah dengan mengeksekusi perintah: autopep8 kal.py.
class Kalkulator:
"""kalkulator tambah kurang"""
def __init__(self, _i=0):
self.i = _i
def tambah(self, _i): return self.i + _i
def kurang(self, _i):
return self.i - _i
Setelah memahami kedua mekanisme tersebut - yaitu pemeriksaan gaya penulisan (style guide) dan proses pemformatan kode - kamu dapat memfokuskan diri pada penulisan indentasi dalam kode Python, sementara sisanya dapat dibantu oleh aplikasi-aplikasi yang telah dipelajari sebelumnya.
Jika kamu menggunakan editor kode yang sangat sederhana, seperti notepad di Windows atau pico/nano di Linux, kamu hanya perlu memperhatikan indentasi untuk setiap statement yang kamu tulis dalam kode Python. Setelah menyelesaikan penulisan kode, kamu bisa menyimpan file tersebut dengan ekstensi .py, kemudian menjalankan linter atau aplikasi untuk memformat kode. Setelah diproses, kode kamu akan terformat sesuai arahan gaya penulisan PEP8 dan diperiksa kesalahannya (jika kamu melakukan linting).
Jika kamu sudah mengikuti panduan instalasi PyCharm pada artikel Persiapan, maka secara otomatis editor kode PyCharm sudah menyediakan fitur inspeksi dengan kemampuan yang hampir sama dengan aplikasi lint yang sudah dijelaskan. Namun, jika kamu ingin menambahkan aplikasi lint sebagai tambahan, kamu tetap bisa melakukannya. Demikian juga, fitur format ulang kode juga sudah tersedia secara bawaan di aplikasi PyCharm.