एक दोस्त (साथी कम कौशल स्तर मनोरंजन पायथन स्क्रिप्टर) ने मुझे कुछ कोड देखने के लिए कहा। मैंने देखा कि उसके पास 7 अलग-अलग वक्तव्य थे जो मूल रूप से कहा गया था।पायथन अगर कथन दक्षता
if (a and b and c):
do something
बयान ए, बी, सी सभी ने उनकी समानता या मूल्य निर्धारित करने की कमी का परीक्षण किया। जैसा कि मैंने देखा, मैंने पाया कि परीक्षणों की प्रकृति के कारण, मैं पूरे तर्क ब्लॉक को दो शाखाओं में फिर से लिख सकता हूं जो कभी भी 3 से अधिक गहरे नहीं गए और शायद ही कभी पहले स्तर से पहले (सबसे दुर्लभ घटना परीक्षण प्रथम)।
if a:
if b:
if c:
else:
if c:
else:
if b:
if c:
else:
if c:
मेरे लिए, तार्किक रूप से ऐसा लगता है जैसे कि यह तेजी से होना चाहिए, अगर आप कम, सरल परीक्षण है कि तेजी से असफल और आगे बढ़ने कर रहे हैं। मेरे असली प्रश्न
1) जब मैं कहता हूं कि और क्या, यदि सत्य हो, तो क्या यह पूरी तरह से अनदेखा हो जाता है?
2) सिद्धांत रूप में होगा
अगर (ए और बी और के रूप में तीन अलग-अलग ग)
लेने के रूप में ज्यादा समय अगर बयान करेंगे?
सहमत हुए। प्रदर्शन के बारे में चिंता न करें, पठनीयता के बारे में चिंता करें। मार्टिन फाउलर की तरह कहते हैं: "कोई भी मूर्ख कोड लिख सकता है जो एक कंप्यूटर समझ सकता है ... लेकिन केवल अच्छे प्रोग्रामर कोड लिखते हैं जो मनुष्य समझ सकते हैं।" –
और यदि आपको संदेह है कि आपके पास प्रदर्शन समस्या है, तो करने वाली पहली चीज़ आपके कोड की गति को मापती है। फिर अपना वैकल्पिक संस्करण लिखें, मापें, और देखें कि आपका परिवर्तन वास्तव में कोड को तेज़ी से बनाता है या नहीं। इस बारे में * कोड पूर्ण * में एक महान अनुभाग है। –