Cara Memformat Otomatis Kode Python Anda dengan Hitam

Menulis kode Python adalah satu hal dan menulis kode dalam format yang baik adalah hal lain. Pemrogram junior sering kali fokus untuk memastikan kode mereka berfungsi dan lupa memformat kode dengan benar.

Jika Anda menulis program kecil (dengan 1000 baris kode) Anda mungkin bisa lolos tanpa memformat kode Anda.

Tetapi karena program menjadi semakin kompleks, mereka semakin sulit untuk dipahami. Pada titik tertentu (sekitar 15.000 baris kode), semakin sulit untuk memahami kode yang Anda tulis sendiri.

Perbedaan antara mengerjakan kode berformat baik dan mengerjakan kode berformat buruk adalah seperti perbedaan antara tinggal di istana dan tinggal di rumah kotor.

Mengapa memformat kode python Anda penting

Keterbacaan

Memformat kode Anda akan membantu Anda membaca kode secara efisien . Tampilannya lebih teratur, dan ketika seseorang melihat kode Anda, mereka akan mendapatkan kesan yang baik.

Ini akan membantu dalam wawancara pengkodean Anda

Saat Anda berada dalam wawancara pengkodean, terkadang pewawancara akan peduli jika Anda memformat kode Anda dengan benar. Jika Anda lupa melakukan pemformatan itu, Anda mungkin kehilangan prospek pekerjaan, hanya karena kode Anda yang diformat dengan buruk.

Dukungan tim

Memformat kode Anda menjadi lebih penting saat Anda bekerja dalam tim . Beberapa orang kemungkinan besar akan mengerjakan proyek perangkat lunak yang sama dan kode yang Anda tulis harus dipahami oleh rekan satu tim Anda. Jika tidak, akan lebih sulit untuk bekerja sama.

Ini memudahkan untuk menemukan bug

Kode dengan format yang buruk dapat membuatnya sangat, sangat sulit untuk menemukan bug atau bahkan untuk bekerja pada sebuah program. Ini juga sangat mengerikan untuk dilihat. Itu merupakan pelanggaran bagi matamu.

Pylint dan Flake8

Sebagian besar pengembang Python senang menggunakan Pylint atau Flake8 untuk memeriksa kesalahan dan panduan gaya kode mereka.

Pylint adalah alat yang memeriksa kesalahan dalam Python. Ia mencoba untuk menegakkan standar pengkodean dan mencari bau kode. Ia juga dapat mencari kesalahan jenis tertentu, dapat merekomendasikan saran tentang bagaimana blok tertentu dapat difaktor ulang, dan dapat menawarkan Anda detail tentang kompleksitas kode.

Flake8 adalah pustaka Python yang membungkus PyFlakes , pycodestyle ,dan skrip McCabe dari Ned Batchelder . Ini adalah toolkit yang hebat untuk memeriksa basis kode Anda terhadap gaya pengkodean (PEP8) , kesalahan pemrograman seperti "perpustakaan diimpor tetapi tidak digunakan", "Nama tidak ditentukan" dan kode yang tidak menjorok.

Masalahnya adalah alat ini hanya melaporkan masalah yang mereka identifikasi dalam kode sumber dan menyerahkan beban kepada pengembang Python untuk memperbaikinya!

Tetapi bagaimana jika kita memiliki alat yang dapat mengidentifikasi dan menyelesaikan masalah pada saat yang bersamaan? Hitam adalah alat yang memungkinkan Anda mengidentifikasi kesalahan dan memformat kode python Anda pada saat yang bersamaan. Sehingga membuat Anda lebih produktif.

Pengantar Hitam

Dari proyek README:

Dengan menggunakan Hitam , Anda setuju untuk menyerahkan kendali atas hal-hal kecil pemformatan tangan. Sebagai gantinya, Hitam memberi Anda kecepatan, determinisme, dan kebebasan dari gaya pycodestyle yang mengomel tentang pemformatan. Anda akan menghemat waktu dan energi mental untuk hal-hal yang lebih penting.

Hitam dapat memformat ulang seluruh file Anda sesuai dengan gaya kode Hitam. Ini membantu otak Anda fokus pada masalah yang ingin Anda selesaikan dan solusi kode, daripada terganggu oleh struktur kode dan perbedaan gaya kecil.

Jadi mari kita lihat bagaimana cara menggunakannya.

Pasang Hitam

Hitam dapat diinstal dengan menjalankan pip install black. Ini membutuhkan Python 3.6.0+ untuk dijalankan. Setelah Hitam diinstal, Anda akan memiliki alat baris perintah baru bernama hitam yang tersedia untuk Anda di shell Anda, dan Anda siap untuk memulai!

Untuk segera memulai dengan default yang masuk akal, pilih file python yang ingin Anda format dan kemudian tulis hitam filename.py di terminal. Kemudian Black akan memformat file python Anda.

Sekarang kita akan melihat apa yang Black dapat membantu kita lakukan.

Memformat File Tunggal

Mari kita lihat contoh sederhana ini: berikut adalah dua fungsi python saya di file python saya yang disebut sample_code.py.

Anda dapat menggunakan black sample_code.pydi terminal untuk mengubah format. Setelah menjalankan Black, Anda akan melihat output berikut:

Kemudian Anda dapat membuka sample_code.py untuk melihat kode python yang diformat:

Kode Python sekarang diformat dan lebih mudah dibaca.

Memformat Beberapa File

Untuk memformat lebih dari satu file python, tulis black folder_name/di terminal.

Tiga file python dalam folder bernama python_with_black telah diformat ulang.

Memeriksa File untuk Pemformatan

Jika Anda tidak ingin Black mengubah file Anda, tetapi Anda ingin tahu apakah Black berpendapat bahwa file harus diubah, Anda dapat menggunakan salah satu dari perintah berikut:

black --check .: Ini akan memeriksa file python mana yang dapat diformat di folder saat ini (tetapi tidak benar-benar mengubah file python).

black --check --diff file_name.py : Ini menunjukkan apa yang perlu dilakukan pada file tetapi tidak mengubah file.

Ubah Jumlah Karakter per Baris

Perhatikan bahwa Hitam secara default 88 karakter untuk panjang barisnya, tetapi Anda dapat mengubahnya menggunakan opsi "-l" atau "- -line-length".

Misalnya, untuk mengubah ke 60 karakter: black -l 60 python_file.py.

Hitam di Notebook Jupyter

Untuk pengguna notebook Jupyter, Anda masih dapat memformat otomatis kode python Anda dengan ekstensi sederhana yang disebut Jupyter Black ini. Ekstensi ini memformat ulang / mempercantik kode dalam sel kode notebook dengan warna hitam.

Ekstensi Jupyter Black menyediakan

  • Tombol toolbar.
  • Pintasan keyboard untuk memformat ulang sel kode saat ini (default: Ctrl-B).
  • Pintasan keyboard untuk memformat ulang seluruh sel kode (default: Ctrl-Shift-B).

Pasang Jupyter Black

Pertama pastikan anda sudah menginstall jupyter-contrib-nbextensions dan black, lalu jalankan perintah berikut.

jupyter nbextension install //github.com/drillan/jupyter-black/archive/master.zip — user

Kemudian aktifkan ekstensi dengan menjalankan:

jupyter nbextension enable jupyter-black-master/jupyter-black 

Sekarang Anda dapat mulai memformat kode python Anda di setiap sel notebook.

Pertama, pilih sel notebook yang ingin Anda format kode python Anda kemudian klik tombol ekstensi yang disebut Hitam.

Kemudian klik tombol Jupyter Black:

Integrasi Editor

Anda dapat mengintegrasikan Black dengan editor favorit Anda. Saat ini Black mendukung PyCharm / IntelliJ IDEA, Wing IDE, Vim, Visual Studio Code, Sublime Text 3, Atom / Nuclide, Kakoune, dan Thonny. Ikuti instruksi di sini untuk mengintegrasikan Black dengan editor favorit Anda.

Jika Anda ingin mempelajari lebih lanjut tentang Black, saya sarankan menonton PyCon 2019 talk oleh Łukasz Langa.

Jika Anda mempelajari sesuatu yang baru atau senang membaca artikel ini, silakan bagikan agar orang lain dapat melihatnya. Sampai jumpa di postingan selanjutnya! Saya juga bisa dihubungi di Twitter @Davis_McDavid.