प्रिंट बयान दोनों दुनिया के सबसे खराब प्रकार के होते हैं , नैदानिक इंस्ट्रूमेंटेशन के साथ एक ऑनलाइन डिबगर के नकारात्मक पहलुओं को मिलाते हैं। आपको कार्यक्रम को संशोधित करना होगा लेकिन आपको इससे अधिक, उपयोगी कोड नहीं मिलेगा ।
एक ऑनलाइन डिबगर आपको एक चालू कार्यक्रम की स्थिति का निरीक्षण करने की अनुमति देता है; लेकिन असली डिबगर के बारे में अच्छी बात यह है कि आपको स्रोत को संशोधित करने की आवश्यकता नहीं है; डीबगिंग सत्र के पहले या बाद में न तो; आप बस डिबगर में प्रोग्राम लोड करते हैं, डिबगर को बताएं कि आप कहां देखना चाहते हैं, और आप सभी सेट हैं।
एप्लिकेशन को इंस्ट्रूमेंट करना कुछ काम को आगे ले जा सकता है, स्रोत कोड को किसी तरह से संशोधित कर सकता है, लेकिन परिणामी नैदानिक आउटपुट में बड़ी मात्रा में विस्तार हो सकता है, और इसे बहुत विशिष्ट डिग्री पर या बंद किया जा सकता है। अजगर लॉगिंग मॉड्यूल न केवल लॉग किए गए संदेश को दिखा सकता है, बल्कि फ़ाइल और फ़ंक्शन भी कह सकता है, जो एक ट्रेसबैक है यदि एक, वास्तविक समय जो संदेश उत्सर्जित किया गया था, और इसी तरह। उस से भी अधिक; नैदानिक इंस्ट्रूमेंटेशन को कभी भी हटाने की आवश्यकता नहीं है; यह कार्यक्रम समाप्त होने और उत्पादन में वैसा ही मान्य और उपयोगी है जैसा कि इसे जोड़ा गया दिन था; लेकिन यह हो सकता है कि यह एक लॉग फ़ाइल में अटका हुआ आउटपुट हो जहाँ यह किसी को परेशान करने की संभावना नहीं है, या लॉग स्तर को सभी लेकिन सबसे जरूरी संदेशों को बाहर रखने के लिए ठुकरा दिया जा सकता है।
डिबगर की आवश्यकता या उपयोग की आशंका वास्तव में आपके परीक्षण के दौरान आईपिथॉन का उपयोग करने से अधिक कठिन नहीं है, और यह पीडीडी डिबगर में निर्मित नियंत्रण के लिए उपयोग किए जाने वाले कमांड से परिचित हो रहा है।
जब आप अपने आप को यह सोचते हुए पाते हैं कि एक प्रिंट स्टेटमेंट pdb का उपयोग करने से आसान हो सकता है (जैसा कि अक्सर होता है), तो आप पाएंगे कि लॉगर का उपयोग करने से आपके प्रोग्राम को राज्य में काम करने के लिए बहुत आसान हो जाता है जैसे कि आप उपयोग करते हैं और बाद में प्रिंट स्टेटमेंट निकालते हैं। ।
मैंने अपने संपादक को वाक्यविन्यास त्रुटियों के रूप में प्रिंट स्टेटमेंट को हाइलाइट करने के लिए कॉन्फ़िगर किया है , और बयानों को टिप्पणी के रूप में लॉग कर रहा है, क्योंकि मैं उनके बारे में कैसे मानता हूं।