Rumah >pembangunan bahagian belakang >Tutorial Python >Minta Pengampunan, Bukan Keizinan: Bilakah Pendekatan Pengaturcaraan yang Lebih Baik?
Frasa "minta ampun bukan izin" merujuk kepada kontras antara dua pendekatan pengaturcaraan: "minta izin" dan "minta pengampunan."
Pendekatan ini menyemak keadaan sebelum mencuba operasi:
if can_do_operation(): perform_operation() else: handle_error_case()
Walau bagaimanapun, gaya ini mempunyai had:
Pendekatan ini mencuba operasi dan mengendalikan sebarang ralat yang terhasil:
try: perform_operation() except Unable_to_perform: handle_error_case()
Kelebihan "minta ampun":
Aplikasi pada Sifat Objek
Dalam contoh anda, harta foo.bar tidak boleh dianggap sebagai kegagalan objek foo jika ia tidak wujud. Sebaliknya, ia biasanya ralat pengaturcaraan. Untuk mengendalikan perkara ini, mulakan bar kepada Tiada dan gunakan:
if foo.bar is not None: handle_optional_part(foo.bar) else: default_handling()
Ini memastikan foo sama ada tiada medan bar atau mempunyai nilai yang sah.
" Minta ampun bukan izin" bukan tentang memaafkan pengekodan yang buruk. Sebaliknya, ia adalah mengenai mengutamakan keteguhan dan kejelasan dalam situasi luar biasa di mana operasi mungkin gagal. Dalam kes sifat objek pilihan, mewakilinya dengan nilai lalai Tiada dan menggunakan semakan kewujudan yang betul mengikut prinsip ini.
Atas ialah kandungan terperinci Minta Pengampunan, Bukan Keizinan: Bilakah Pendekatan Pengaturcaraan yang Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!