कई सालों से सी में प्रोग्रामिंग के बाद, मुझे एहसास हुआ कि मैं सफलता को इंगित करने के लिए एक समारोह से शून्य लौटने के सी सम्मेलन को अनदेखा कर रहा हूं। सम्मेलन मेरे लिए अर्थपूर्ण रूप से गलत लगता है, क्योंकि शून्य निश्चित रूप से झूठा है। समस्या मैं is_valid_foobar()
जैसे कार्यों के लिए इच्छित नाम है, और आदेश 'गलत साधन सफलता' के सम्मेलन में समायोजित करने के लिए, मैं और अधिक अस्पष्ट होना चाहिए था ... के बजाय यह है कि:क्या मुझे सी फ़ंक्शन से TRUE/FALSE मान वापस करना चाहिए?
if (! is_valid_foobar()) {
return (error);
}
अन्य प्रोग्रामर लिखें:
if (validate_foobar()) {
return (error);
}
और मेरे कार्यान्वयन लगता है:
int is_valid_foobar (int foobar) {
if (foobar < MAX_ALLOWED) {
return TRUE;
}
return FALSE;
}
मैं वास्तव में कोड समीक्षा में इस बात के लिए किसी भी आलोचना पकड़े नहीं गए। तो मैं सोच रहा हूं कि यह इतनी भयानक आदत नहीं है, लेकिन यह 'अपरंपरागत' है। मैं उत्सुक हूं कि लोग क्या सोचते हैं।
मैं फ़ंक्शन और परिवर्तनीय नामों के लिए किए गए विकल्पों के बारे में बहुत सावधान हूं, और एक सामान्य समीक्षा टिप्पणी "कोड वास्तव में स्पष्ट है", और आगे यह मुझे अतिरिक्त टाइप करने के लिए परेशान नहीं करता है फंक्शन कॉल के सामने !
। लेकिन क्या आप कहते हैं, हे एसओ के शक्तिशाली लोग?
राइट - और यदि आप सफलता के लिए सीधे 0 का उपयोग करना पसंद नहीं करते हैं, तो आम तौर पर फ्रेमवर्क या प्लेटफार्म कुछ सफलता या (दिलचस्प रूप से नामित) ERROR_SUCCESS मैक्रो/मान (संबंधित त्रुटि कोड नामों के साथ) को संख्यात्मक से दूर करने के लिए कुछ प्रदान करते हैं कुछ हद तक मूल्य। –
यह उपयोग फ़ॉर्मूलेशन "अगर (int e = foo()) {/ * हैंडल त्रुटियों * /};", जो अधिक फीचरफुल भाषाओं पर उठाए गए लोगों के लिए घबराहट लग सकता है, लेकिन सी मानकों द्वारा साफ और चिकना है। – dmckee