2013-07-10 7 views
7

मैं अक्सर देखते हैं संरचनाओं इस तरह कोडित किया जा रहा:पहले क्यों लगातार एक में अगर हालत

if (true == a) 
if (false == a) 

क्यों वे निरंतर मूल्य पहली और नहीं चर रख सकता हूं? इस उदाहरण में:

if (a == true) 
if (b == true) 
+6

[योदा स्थितियां] (http://en.wikipedia.org/wiki/Yoda_Conditions) –

+0

क्यों 'को taged C' मैं भ्रमित :( –

+2

एक ही कानून @GrijeshChauhan मिला सी also.Putting पर काम करता है निरंतर पर की बाईं तुलना ऑपरेटर अच्छा है और आकस्मिक असाइनमेंट से बचाता है। –

उत्तर

14

इसे योड सिंटैक्स या योड स्थितियां कहा जाता है।

इसका उपयोग आकस्मिक असाइनमेंट को रोकने में मदद के लिए किया जाता है।

आप भूल जाते हैं एक हस्ताक्षर यह असफल हो जायेगी

if(false = $a) संकलित करने के लिए

if($a = true) चर $a को true का मूल्य प्रदान करती है विफल रहता है के बराबर होती है और यह विशेष रूप से के रूप में true

का मूल्यांकन करता है Wordpress Coding Standards उल्लेख:

if (true == $the_force) { 
    $victorious = you_will($be); 
} 

तार्किक तुलना करते समय, हमेशा चर को तरफ, स्थिरांक या बाईं ओर अक्षर पर रखें।

उपरोक्त उदाहरण में, अगर आप को छोड़ देते हैं एक चिह्न (इसे स्वीकार है, यह होता है यहां तक ​​कि हम में से ज्यादातर अनुभवी करने के लिए), आप एक पार्स त्रुटि मिल जाएगा क्योंकि आप एक निरंतर करने के लिए असाइन नहीं कर सकते की तरह बराबर होती है सच। यदि कथन अन्य तरीकों से ($ the_force = true) था, तो असाइनमेंट पूरी तरह से मान्य होगा, 1 लौटाएगा, जिससे सत्य का मूल्यांकन करने के लिए कथन का कारण बनता है, और आप थोड़ी देर के लिए उस बग का पीछा कर सकते हैं।

थोड़ा विचित्र, यह पढ़ने के लिए है। इसका इस्तेमाल करें, आप करेंगे।

+0

उपवास के लिए धन्यवाद प्रतिक्रिया! अब मुझे अंत में पता है कि ऐसा क्यों किया जाता है :) –

+3

हालांकि टाइपो को रोकने के लिए अच्छा है, लेकिन आपको पठनीयता की कमी होगी। –

+0

"हाँ, ठीक है, यह ठीक है, आपकी राय, आदमी।" - उनकी डुडनेस उर्फ ​​एल डुडरिनो – user20232359723568423357842364

-2

यह कोडिंग के YODA Style का एक उदाहरण

if (var a == true){ 
} 

है

की तुलना में कम सुरक्षित
if (true == var a){ 
} 

क्योंकि जब आप उस दूसरे = निशान भूल जाते हैं, आप गलत काम त्रुटि मिलेगी, और इसे संकलित समय पर पकड़ सकते हैं।

+4

आपका मतलब है कि दूसरा सुरक्षित है। –

+2

@ संकल्प मिश्रा कृपया अपना जवाब दोबारा पढ़ें। मुझे यकीन है कि आपको पता चलेगा कि कहां संपादित करना है। –

संबंधित मुद्दे