Çevrimiçi bir hata ayıklayıcının olumsuz yönlerini tanı araçlarıyla birleştiren basılı ifadeler, her iki dünyanın en kötüsüdür . Yapmalisin programı değiştirmek ama alamadım daha kullanışlı kod ondan.
Çevrimiçi bir hata ayıklayıcı, çalışan bir programın durumunu incelemenizi sağlar; Ancak gerçek bir hata ayıklayıcının güzel yanı, kaynağı değiştirmenize gerek olmamasıdır; hata ayıklama oturumundan ne önce ne de sonra; Programı hata ayıklayıcıya yükleyin, hata ayıklayıcıya nereye bakmak istediğinizi söyleyin ve artık hazırsınız.
Uygulamanın enstrümantasyonu, kaynak kodunu bir şekilde değiştirerek önceden biraz çalışma gerektirebilir, ancak ortaya çıkan tanı çıktısı çok fazla ayrıntıya sahip olabilir ve çok özel bir dereceye kadar açılıp kapatılabilir. Python günlüğe kaydetme modülü yalnızca günlüğe kaydedilen mesajı değil, aynı zamanda onu çağıran dosya ve işlevi, varsa bir geri dönüşü, mesajın yayınlandığı gerçek zamanı vb. De gösterebilir. Daha Fazlası; teşhis aletlerinin asla kaldırılmasına gerek yoktur ; Program tamamlandığında ve üretimde eklendiği gün olduğu kadar geçerli ve kullanışlıdır; ancak çıktısının kimseyi rahatsız etmeyeceği bir günlük dosyasına sıkışmış olabilir veya en acil mesajlar dışında tümünü saklamak için günlük seviyesi kapatılabilir.
Bir hata ayıklayıcının ihtiyacını veya kullanımını tahmin etmek, test ederken ipython kullanmaktan ve yerleşik pdb hata ayıklayıcıyı kontrol etmek için kullandığı komutlara aşina olmaktan gerçekten daha zor değildir.
Kendinizi bir print cümlesinin pdb kullanmaktan daha kolay olabileceğini düşündüğünüzde (çoğu zaman olduğu gibi), bir logger kullanmanın, programı kullanmaktan çok daha kolay bir duruma getirdiğini göreceksiniz. .
Editörüm, yazdırma ifadelerini sözdizimi hataları olarak vurgulayacak ve ifadeleri de yorum olarak günlüğe kaydedecek şekilde yapılandırdım , çünkü onları bu şekilde değerlendiriyorum.