SORU
3 HAZİRAN 2009, ÇARŞAMBA


En iyi uygulama Python için Onaylama

  1. Standart kod parçası assert kullanmak yerine kullanarak performans veya kod bir bakım sorunu sadece hata ayıklama amacıyla var mı?

    assert x >= 0, 'x is less than zero'
    

    daha iyi ya da daha kötü

    if x < 0:
        raise Exception, 'x is less than zero'
    
  2. Ayrıca, hiç bir iş kuralı gibi if x < 0 raise error her zaman kontrol olmadan try/except/finally Yani, eğer zaman boyunca kod x 0'dan bir hata kaldırdı, istersen set assert x < 0 başlangıç fonksiyonu, herhangi bir yere içinde fonksiyonu x olur daha sonra 0 bir istisna mı kaldırdı?

CEVAP
3 HAZİRAN 2009, ÇARŞAMBA


İddia test için kullanılması gereken şartlarasla olmamalıydı. Amaç erken bozuk programı bir devlet durumunda çökmesine.

İstisnalar makul gelebilecek hatalar için kullanılır, ve hemen hemen her zaman kendi Özel sınıflar oluşturmanız gerekir.

< / ^ hr .

Örneğin, eğer yazılı bir işlevi okumak için bir yapılandırma dosyası içine dict, uygunsuz biçimlendirme dosyası lazım zam ConfigurationSyntaxError süre assert öyle olmadığın için dönüş None.

< / ^ hr .

Eğer x bir değeri, bir dış kaynaktan bir kullanıcı arabirimi üzerinden veya ayarlı ise sizin örnekte, bir istisna iyisidir.

Eğer x sadece aynı programda kendi koduna göre ayarlanmışsa, bu bir iddia ile gitmek.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • george sarintzotis

    george sarin

    2 Aralık 2007
  • Jonathan D.

    Jonathan D.

    3 Kasım 2006
  • WHZGUD2

    WHZGUD2

    21 EYLÜL 2011