निम्नलिखित काल्पनिक उदाहरण पर विचार करें:शैली संबंधी सवाल लौटने विषय में शून्य
void HandleThat() { ... }
void HandleThis()
{
if (That) return HandleThat();
...
}
इस कोड को बस ठीक काम करता है, और मैं काफी यकीन है कि यह कल्पना-मान्य है, लेकिन मैं (शायद अपने दम पर) इस असामान्य शैली पर विचार चूंकि कॉल फ़ंक्शन के परिणाम को वापस करने के लिए प्रतीत होता है, इस तथ्य के बावजूद कि दोनों कार्य शून्य होने के लिए प्रोटोटाइप किए गए हैं।
आमतौर पर, मैं देख रहा हूँ की उम्मीद करेंगे:
if (That) {HandleThat(); return;}
जो मैं महसूस करता हूं क्या हो रहा है के रूप में कोई अस्पष्टता नहीं छोड़ देता है।
एसओ समुदाय, क्या मैं आपकी राय प्राप्त कर सकता हूं कि रिटर्निंग-शून्य कोडिंग शैली भ्रमित या समस्याग्रस्त है या नहीं? यह एक मुहावरे का अनुभव है; क्या मुझे इसका इस्तेमाल करना चाहिए या इससे बचें?
आम तौर पर मैं स्पष्टता के लिए प्रयास करता हूं और दूसरी शैली का उपयोग करता हूं। दूसरी तरफ, पहले फॉर्म के लिए एक साफता है जो मुझे कुछ हद तक आकर्षित करती है।
यदि यह किसी भी ब्याज के मामले में है, तो इसका वास्तविक उपयोग कुछ परिस्थितियों में माता-पिता को जमानत देना है। जैसे: शून्य derivedclass :: एफ (...) {अगर (जमानत) वापसी parentclass :: एफ (...); ...} –