Panduan ini mencakup konvensi penulisan kode Python yang diadopsi dari PEP 8. Mengikuti konvensi ini akan membantu Anda menulis kode Python yang bersih, konsisten, dan mudah dipahami.
- Penamaan (Naming Conventions)
- 1.1 Variabel
- 1.2 Fungsi
- 1.3 Kelas
- 1.4 Konstanta
- 1.5 Modul dan Paket
- Indentasi dan Spasi
- 2.1 Indentasi
- 2.2 Spasi Setelah Koma
- 2.3 Spasi Sekitar Operator
- 2.4 Penulisan Baris
- Komentar
- 3.1 Komentar Satu Baris
- 3.2 Komentar Multiline
- 3.3 Docstrings
- Penggunaan Impor
- 4.1 Penempatan Impor
- 4.2 Jenis Impor
- Penggunaan Fungsi dan Kelas
- 5.1 Fungsi dan Metode
- 5.2 Kelas
- Penanganan Exception
- Praktik Terbaik Lainnya
- 7.1 Hindari Duplikasi Kode
- 7.2 Gunakan Tipe Data yang Tepat
- 7.3 Gunakan Anotasi Tipe
- Format dan Penataan Kode
- 8.1 Pisahkan Blok Kode
- 8.2 Struktur Kontrol yang Jelas
- Penggunaan Tipe Data dan Struktur Kontrol
- Kesimpulan
- Gunakan huruf kecil dengan pemisah kata menggunakan garis bawah (
snake_case
).- Contoh:
my_variable
,user_age
- Contoh:
- Fungsi harus menggunakan
snake_case
(huruf kecil dengan garis bawah).- Contoh:
calculate_total()
,get_user_input()
- Contoh:
- Gunakan
PascalCase
(setiap kata dimulai dengan huruf kapital).- Contoh:
CustomerAccount
,UserProfile
- Contoh:
- Gunakan huruf kapital dengan pemisah garis bawah (
UPPER_SNAKE_CASE
).- Contoh:
MAX_VALUE
,PI
- Contoh:
- Nama modul menggunakan huruf kecil dan jika perlu, pisahkan dengan garis bawah (
snake_case
).- Contoh:
math_utilities
,data_processor
- Contoh:
- Gunakan 4 spasi untuk setiap level indentasi. Jangan menggunakan tab.
- Gunakan spasi setelah koma dalam argumen atau elemen dalam daftar.
- Contoh:
my_function(1, 2, 3)
,list_of_values = [1, 2, 3]
- Contoh:
- Gunakan satu spasi di sekitar operator seperti
+
,=
,-
,*
, dll.- Contoh:
x = 5 + 10
,result = a * b
- Contoh:
- Batasi panjang baris hingga 79 karakter. Untuk docstrings, batasi hingga 72 karakter per baris.
- Jika baris terlalu panjang, bagi kode ke beberapa baris menggunakan tanda kurung atau garis miring terbalik (
\
).
- Gunakan komentar satu baris untuk penjelasan singkat. Mulai dengan huruf kapital dan beri spasi setelah tanda
#
.- Contoh:
# This is a single-line comment
- Contoh:
- Gunakan komentar blok untuk penjelasan yang lebih panjang, dengan tanda
#
di awal setiap baris.- Contoh:
# This is a multi-line comment # explaining the function below
- Contoh:
- Gunakan docstring untuk mendokumentasikan modul, kelas, fungsi, atau metode. Gunakan tiga tanda kutip (
"""
) untuk mendeklarasikan docstring.- Contoh:
def add(a, b): """ Menambahkan dua angka dan mengembalikan hasilnya. Parameter: a (int): Angka pertama b (int): Angka kedua Returns: int: Hasil penjumlahan """ return a + b
- Contoh:
- Semua impor harus ditempatkan di bagian atas file, sebelum kode lain.
- Impor harus dipisahkan ke dalam tiga grup:
- Impor dari Python standar library
- Impor dari library pihak ketiga
- Impor dari modul lokal
- Gunakan
import module
daripadafrom module import *
untuk menghindari polusi namespace.
- Fungsi dan metode harus diberi nama yang deskriptif dan menggunakan
snake_case
. - Fungsi harus memiliki docstring untuk mendeskripsikan fungsinya.
- Nama kelas harus menggunakan
PascalCase
. - Kelas juga harus memiliki docstring yang menjelaskan tujuan kelas.
-
Gunakan blok
try
danexcept
untuk menangani kesalahan. -
Hindari menggunakan
except:
tanpa menyebutkan tipe kesalahan. -
Jika menangani tipe kesalahan tertentu, sebutkan tipe kesalahan dalam
except
.- Contoh:
try: value = int(input("Masukkan angka: ")) except ValueError: print("Input bukan angka.")
- Contoh:
- Hindari duplikasi kode dengan memecah kode menjadi fungsi atau kelas yang dapat digunakan kembali.
- Gunakan tipe data yang sesuai dengan kebutuhan untuk meningkatkan kejelasan kode dan menghindari kesalahan.
- Jika menggunakan Python 3.5 atau lebih baru, gunakan anotasi tipe untuk menjelaskan tipe data dari parameter dan nilai balik.
- Contoh:
def add_numbers(a: int, b: int) -> int: return a + b
- Contoh:
- Gunakan garis kosong untuk memisahkan blok kode yang berbeda dan meningkatkan keterbacaan.
- Gunakan struktur kontrol seperti
if
,for
,while
dengan jelas dan hindari penulisan kode yang terlalu rumit.
- Pilih tipe data yang tepat sesuai dengan kebutuhan. Gunakan
list
,tuple
,set
, ataudict
dengan bijaksana. - Gunakan
list comprehensions
ataugenerator expressions
jika memungkinkan untuk membuat kode lebih ringkas dan efisien.
Mengikuti konvensi ini akan membuat kode Python Anda lebih bersih, konsisten, dan mudah dipelihara. Pastikan untuk selalu mengikuti standar ini untuk meningkatkan kolaborasi dalam pengembangan perangkat lunak.