क्या बूलियन तरीकों को हमेशा सकारात्मक रूप लेना चाहिए, तब भी जब वे केवल नकारात्मक रूप में ही उपयोग किए जाएंगे?
कहते हैं कि मैं जाँच करना चाहता था कि क्या एक इकाई एक बनाने से पहले मौजूद है, मेरा तर्क यह है कि नीचे का पहला रूप दूसरे रूप से बेहतर है, चाहे वह तरीका कभी भी सकारात्मक रूप में उपयोग किया गया हो या नहीं।
संक्षेप में, मुझे if(!affirmative)
पढ़ने में आसान लगता है if(negative)
। मेरा एक सहयोगी है जो विचारों से असहमत है?
पहला रूप:
int entity_id = 42;
if(!entity_exists(entity_id)) create_entity(entity_id);
दूसरा फॉर्म:
int entity_id = 42;
if(entity_not_exist(entity_id)) create_entity(entity_id);
!
चरित्र को बहुत बार याद किया है, जिससे मुझे कोड को गलत तरीके से समझने में मदद मिली जब तक कि मैंने इसे फिर से नहीं पढ़ा। इसलिए मैं शायद आपके सहकर्मी से अधिक सहमत हूं। जब आप इसकी जांच करते हैं तो मुझे वह रूप पसंद होता है जो सत्य का मूल्यांकन करता है।
if (!exists) create()
इसे कई भाषाओं / रूपरेखाओं में एक बुरे अभ्यास के रूप में देखा जा सकता है, क्योंकि यह थ्रेड-सुरक्षित नहीं है। आमतौर पर, पसंदीदा दृष्टिकोण यह create()
कहता है कि विशिष्ट अपवादों या रिटर्न कोड को कॉल करना और संभालना है, जो कि इकाई पहले से मौजूद है। यह निश्चित रूप से वास्तविक प्रश्न का उत्तर नहीं है (यही कारण है कि यह केवल एक टिप्पणी है)।
if (not entity_exists(entity_id))