Apabila menulis kod Python, penting untuk menjadikannya bersih dan mudah dibaca. Kod bersih bermakna kod anda tersusun dengan baik, mudah difahami dan mudah diselenggara. Dalam panduan ini, kami akan berkongsi petua terbaik untuk membantu anda menulis kod bersih dalam Python, sama ada anda seorang pemula atau pembangun yang berpengalaman.
Menulis kod bersih adalah penting untuk banyak sebab:
Salah satu cara paling mudah untuk meningkatkan kebolehbacaan kod ialah dengan menggunakan nama yang jelas dan bermakna untuk pembolehubah dan fungsi. Elakkan nama huruf tunggal atau samar seperti x, y atau foo.
Contoh:
# Bad example def calc(x, y): return x + y # Good example def calculate_total_price(item_price, tax): return item_price + tax
Dalam contoh kedua, mudah untuk memahami fungsi fungsi hanya dengan melihat nama fungsi dan nama pembolehubah.
PEP 8 ialah panduan gaya rasmi Python, menyediakan konvensyen untuk menulis kod yang bersih dan boleh dibaca. Beberapa cadangan utama PEP 8 termasuk:
Contoh:
# PEP 8 Example def calculate_discounted_price(price, discount): """Calculate the final price after applying the discount.""" discounted_amount = price * (discount / 100) final_price = price - discounted_amount return final_price
Pecahkan kod anda kepada fungsi yang lebih kecil dan boleh diurus. Setiap fungsi harus melakukan satu tugas khusus, menjadikannya lebih mudah untuk membaca, menguji dan nyahpepijat.
Contoh:
# Bad example def process_order(customer, items): total_price = 0 for item in items: total_price += item['price'] if total_price > 100: discount = total_price * 0.1 total_price -= discount # Send email print(f"Order confirmed for {customer['name']}") return total_price # Good example def calculate_total_price(items): return sum(item['price'] for item in items) def apply_discount(total_price): if total_price > 100: return total_price * 0.9 return total_price def send_confirmation_email(customer): print(f"Order confirmed for {customer['name']}") def process_order(customer, items): total_price = calculate_total_price(items) total_price = apply_discount(total_price) send_confirmation_email(customer) return total_price
Dalam contoh yang dipertingkatkan, kod dibahagikan kepada fungsi yang lebih kecil, menjadikannya lebih mudah untuk difahami dan diselenggara.
Kefahaman senarai dalam Python menyediakan cara ringkas untuk membuat senarai. Menggunakannya boleh menjadikan kod anda lebih bersih dan lebih mudah dibaca.
Contoh:
# Without list comprehension squares = [] for x in range(10): squares.append(x ** 2) # With list comprehension squares = [x ** 2 for x in range(10)]
Contoh kedua adalah lebih pendek dan lebih mudah dibaca.
Elakkan nilai pengekodan keras terus dalam kod anda. Sebaliknya, gunakan pemalar atau fail konfigurasi. Ini menjadikan kod anda lebih fleksibel dan lebih mudah dikemas kini.
Contoh:
# Bad example def calculate_discount(price): return price * 0.1 # Discount is hardcoded # Good example DISCOUNT_RATE = 0.1 def calculate_discount(price): return price * DISCOUNT_RATE
Dalam contoh kedua, kadar diskaun disimpan dalam pemalar, menjadikannya lebih mudah untuk diubah jika perlu.
Walaupun kod bersih harus jelas, menambahkan ulasan dan dokstring boleh membantu menjelaskan tujuan fungsi atau algoritma yang kompleks.
def find_largest_number(numbers): """ Find the largest number in a list. Args: numbers (list): A list of numbers. Returns: int: The largest number. """ return max(numbers)
Dokstring membantu pembangun lain memahami cara menggunakan fungsi tanpa perlu membaca keseluruhan kod.
Elakkan pendua kod. Jika anda melihat corak berulang, cuba faktorkan semula kod anda untuk menggunakan semula fungsi atau kelas. Ini akan menjadikan kod anda lebih mudah diselenggara dan mengurangkan kemungkinan ralat.
Contoh:
# Bad example def get_full_name1(first_name, last_name): return first_name + " " + last_name def get_full_name2(first_name, last_name): return first_name + " " + last_name # Good example def get_full_name(first_name, last_name): return first_name + " " + last_name
Sentiasa mengendalikan pengecualian menggunakan blok cuba dan kecuali untuk mengelakkan program anda daripada ranap. Anda juga harus memberikan mesej ralat bermaklumat untuk memudahkan penyahpepijatan.
Contoh:
# Bad example def divide_numbers(a, b): return a / b # Good example def divide_numbers(a, b): try: return a / b except ZeroDivisionError: return "Error: Cannot divide by zero"
Contoh kedua menghalang ranap sistem dan memberikan mesej ralat yang berguna.
Python 3.6 memperkenalkan f-strings, cara mudah dan boleh dibaca untuk memformat rentetan. Ia jauh lebih bersih daripada kaedah pemformatan rentetan lama.
Contoh:
# Old way name = "Alice" greeting = "Hello, %s!" % name # With f-strings greeting = f"Hello, {name}!"
F-strings menjadikan kod anda lebih mudah dibaca dan diselenggara.
Only import the necessary modules and functions. Avoid wildcard imports like from module import * as they can clutter the namespace and make it harder to track dependencies.
Example:
# Bad example from math import * # Good example from math import sqrt, pi
Writing clean code in Python is a valuable skill that helps you create readable, maintainable, and bug-free software. By following the best practices outlined in this guide—using meaningful names, following PEP 8, keeping your code modular, and handling errors gracefully—you can significantly improve your coding style.
Focus on readability, simplicity, and consistency, and you'll be well on your way to writing clean, professional Python code.
Atas ialah kandungan terperinci Cara Menulis Kod Bersih dalam Python - Panduan Amalan Terbaik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!