Cara Menulis Kod Bersih dalam Python - Panduan Amalan Terbaik

王林
Lepaskan: 2024-09-07 14:00:37
asal
858 orang telah melayarinya

How to Write Clean Code in Python - Best Practices Guide

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.

Mengapa Kod Bersih Penting

Menulis kod bersih adalah penting untuk banyak sebab:

  • Kebolehbacaan: Kod bersih mudah dibaca, yang membantu pembangun lain memahami kod anda dengan cepat.
  • Kebolehselenggaraan: Jika kod anda bersih, lebih mudah untuk mengemas kini, nyahpepijat dan menambah baik.
  • Kerjasama: Kod bersih adalah penting untuk kerja berpasukan, terutamanya apabila berkongsi kod dengan orang lain atau bekerja pada projek besar.
  • Pencegahan Ralat: Apabila kod anda bersih dan teratur, anda kurang berkemungkinan untuk memperkenalkan pepijat. Sekarang, mari kita terokai beberapa amalan terbaik yang akan membantu anda menulis kod yang lebih bersih dalam Python.

1. Gunakan Pembolehubah Bermakna dan Nama Fungsi

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
Salin selepas log masuk

Dalam contoh kedua, mudah untuk memahami fungsi fungsi hanya dengan melihat nama fungsi dan nama pembolehubah.

2. Ikuti Panduan Gaya PEP 8

PEP 8 ialah panduan gaya rasmi Python, menyediakan konvensyen untuk menulis kod yang bersih dan boleh dibaca. Beberapa cadangan utama PEP 8 termasuk:

  • Lekukan: Gunakan 4 ruang setiap tahap lekukan.
  • Panjang Baris: Pastikan baris lebih pendek daripada 79 aksara.
  • Jarak: Gunakan ruang di sekeliling pengendali dan selepas koma.
  • Ulasan: Tambahkan ulasan untuk menerangkan bahagian kompleks kod. Mengikuti PEP 8 memastikan kod anda mematuhi piawaian komuniti Python.

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
Salin selepas log masuk

3. Tulis Kod Modular

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
Salin selepas log masuk

Dalam contoh yang dipertingkatkan, kod dibahagikan kepada fungsi yang lebih kecil, menjadikannya lebih mudah untuk difahami dan diselenggara.

4. Gunakan Pemahaman Senarai untuk Kesederhanaan

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)]
Salin selepas log masuk

Contoh kedua adalah lebih pendek dan lebih mudah dibaca.

5. Elakkan Nilai Pengekodan Keras

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
Salin selepas log masuk

Dalam contoh kedua, kadar diskaun disimpan dalam pemalar, menjadikannya lebih mudah untuk diubah jika perlu.

6. Tambah Komen dan Docstrings

Walaupun kod bersih harus jelas, menambahkan ulasan dan dokstring boleh membantu menjelaskan tujuan fungsi atau algoritma yang kompleks.

  • Ulasan: Terangkan mengapa pendekatan tertentu digunakan.
  • Docstrings: Huraikan fungsi fungsi dan parameternya. Contoh:
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)
Salin selepas log masuk

Dokstring membantu pembangun lain memahami cara menggunakan fungsi tanpa perlu membaca keseluruhan kod.

7. Pastikan Kod Anda KERING (Jangan Ulangi Sendiri)

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
Salin selepas log masuk

8. Tangani Ralat Dengan Anggun

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"
Salin selepas log masuk

Contoh kedua menghalang ranap sistem dan memberikan mesej ralat yang berguna.

9. Gunakan F-strings untuk Pemformatan

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}!"
Salin selepas log masuk

F-strings menjadikan kod anda lebih mudah dibaca dan diselenggara.

10. Use Meaningful Imports

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
Salin selepas log masuk

Conclusion

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan