Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menulis Kod Bersih, Cekap dan Boleh Diselenggara - Python sebagai kes penggunaan.

Menulis Kod Bersih, Cekap dan Boleh Diselenggara - Python sebagai kes penggunaan.

Susan Sarandon
Susan Sarandonasal
2024-09-26 22:12:03303semak imbas

Writing Clean, Efficient, and Maintainable Code - Python as use case.

Menulis Kod Bersih, Cekap dan Boleh Diselenggara - Python sebagai kes penggunaan.
Jika anda telah menjadi pembangun untuk beberapa lama, anda mungkin memahami kepentingan pengekodan yang betul berbanding tergesa-gesa hanya menulis sesuatu yang berfungsi. Salah satu kemunduran terbesar ini untuk anda ialah apabila anda perlu menyemak kod anda, anda jarang dapat memahami perkara yang anda cuba lakukan dan bagi orang lain, mereka mengalami kesukaran membaca kod anda. 

Baru-baru ini saya telah menyemak beberapa kod dan saya fikir adalah penting untuk menekankan keperluan membersihkan, kod yang cekap.

Beberapa sejarah kepada garis panduan dan gaya dalam pengekodan

Pada awal 1970-an apabila bahasa Pengaturcaraan C semakin popular gaya pengekodan menjadi perbincangan dan dua nama terkenal di sekelilingnya ialah Brian Kernighan dan Dennis Ritchie.

Menariknya, bahasa Ada menguatkuasakan garis panduan dan piawaian pengekodan yang ketat pada awal 1980-an. Python dan Java pertengahan 1990-an datang dengan konvensyen pengekodan yang kukuh dari fasa awal dan Cadangan Peningkatan Python (PEP 8) telah diterima pakai dengan baik yang hari ini masih merupakan konvensyen pengekodan yang sah.

  1. Garis Panduan PEP 8 untuk Penggayaan Kod: Saya telah menggunakan garis panduan ini dari semasa ke semasa dan saya telah melihat pengaturcara lain menerima pakai ini. 

Pelanjutan linting kod flake8 Code VS ialah pilihan hebat yang saya gunakan. 
Garis panduannya ialah:
Lekukan: Gunakan 4 ruang bagi setiap tahap lekukan.
Panjang Baris: Hadkan semua baris kepada maksimum 79 aksara.
Konvensyen Penamaan: Gunakan snake_case untuk nama fungsi dan pembolehubah dan CamelCase untuk nama kelas.

Contohnya:

`# defining variables using snake_case

total_price = 100
customer_email = "customer@example.com"

# defining functions using snake_case
def calculate_total_price():
    pass

class OrderManager:
    pass`

2. Komen dan dokumentasi yang bermakna: Docstrings membantu pembangun memahami fungsi/kaedah tujuan, parameter dan nilai pulangan. Secara amnya adalah amalan yang baik untuk memperkenalkan mereka dan menulis komen untuk menjelaskan logik atau keputusan yang kompleks
Contohnya:

def calculate_total_price(price: float, quantity: int) -> float:
    """
    Calculate the total price of items.

    Args:
        price (float): The price of a single item.
        quantity (int): The number of items purchased.

    Returns:
        float: The total price.
    """
    return price * quantity

**3. Pengulangan Kod: **Sebagai peraturan mudah, elakkan mengulangi kod yang telah dilaksanakan, sebaliknya ikuti prinsip DRY dengan membuat fungsi boleh guna semula. Kaveat kepada perkara ini ialah, apabila pembangun baharu melaksanakan perubahan, pembangun mungkin tidak tahu terdapat kod pendua yang telah ditinggalkan dan boleh menjadi kucar-kacir kerana ralat ini.

Sebagai contoh, anda mempunyai fungsi yang mengira jumlah harga untuk kedai e-dagang dengan mendarabkan harga dan kuantiti.

 

total_price_laptops = 1000 * 2
total_price_phones = 500 * 3
This, is easily done with reusable functions like this:
def calculate_total(price, quantity):
    return price * quantity

total_price_laptops = calculate_total(1000, 2)
total_price_phones = calculate_total(500, 3)

4. Petua Taip: Python ialah bahasa yang ditaip secara dinamik, taip membayangkan kod anda meningkatkan kebolehbacaan dan menangkap ralat lebih awal. Lebih mudah untuk memahami jenis data yang diharapkan.

Contohnya:

def get_discounted_price(price: float, discount: float) -> float:
    return price - (price * discount)

**5. Ujian Penulisan: **Ujian mengesahkan kefungsian kod anda. Rangka kerja popular seperti unittest atau pytest menjadikan menulis dan menjalankan ujian mudah. Ujian menegaskan bahawa kod anda berkelakuan seperti yang diharapkan, mengurangkan risiko memperkenalkan pepijat apabila membuat perubahan atau pemfaktoran semula.

def test_calculate_total_price():
    assert calculate_total_price(100, 2) == 200

6. Pengecualian: Ia boleh memalukan apabila kod pengeluaran mencetak baris kod yang tidak bermakna kepada pengguna pelanggan atau lebih teruk lagi, mengeluarkan pembolehubah persekitaran. Mengelakkan perkara ini adalah lebih mudah dengan pengecualian cuba/kecuali/akhirnya mengendalikan untuk mengurus ralat yang boleh diramal dan memastikan aplikasi anda tidak ranap tanpa diduga.

try:
    value = int(input("Enter a number: "))
except ValueError:
    print("That's not a valid number!")
finally:
    print('Thank you!')

7. Pemodulasian Kod: Tiada peraturan yang mengatakan untuk menyimpan kod anda dalam satu fail. Pecahkan blok besar kod kepada modul yang lebih kecil dan boleh diguna semula dan importnya merentasi aplikasi apabila diperlukan. Lebih mudah untuk menguji dan mengemas kini.

8. Kawalan Versi: Sistem kawalan versi seperti Git ialah amalan terbaik asas dalam pembangunan moden. Lain-lain ialah Beanstalk, PerForce, Apache subversion. Kawalan versi boleh menjejaki perubahan, mengurangkan kesilapan manusia semasa kerjasama dan akibat yang tidak diingini ke tahap yang besar.

Dengan mengikuti amalan terbaik seperti mematuhi PEP 8, mengekalkan kod anda KERING, menulis dokumentasi yang bermakna dan mengendalikan pengecualian dengan anggun, anda boleh memastikan projek Python anda profesional, berskala dan mudah diselenggara. 
Mula melaksanakan petua ini hari ini dan anda akan melihat peningkatan yang ketara dalam kualiti kod anda.

Atas ialah kandungan terperinci Menulis Kod Bersih, Cekap dan Boleh Diselenggara - Python sebagai kes penggunaan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Python hari 00Artikel seterusnya:Python hari 00