2012-12-31 6 views
10

सी ++ आप इसएक पंक्ति में एकाधिक असाइनमेंट क्यों खराब शैली मानी जाती है?

x = y = z = 10; 

फिर भी कई लोगों को ऐसा करने से कई काम कर सकते हैं में मुझे बताया है कि एक बुरा शैली है और मैं मुझे एक कारण है कि दिए बिना इसे प्रयोग नहीं किया जाना चाहिए।

क्या कोई मुझे बता सकता है कि इसे खराब शैली क्यों माना जाता है?

+0

एमएमएन .. एकमात्र बुरी चीज जिसे मैं सोच सकता हूं वह पठनीयता है .. –

+1

सभी कौन है? मैं पठनीयता के अलावा, इसके साथ एक भी समस्या के बारे में नहीं सोच सकता। –

+1

क्या आप "हर कोई" पर थोड़ा सा विस्तार कर सकते हैं? क्योंकि यह आज दुनिया में लगभग एक बिलियन स्रोत कोड कोड में एक आम बहु-असाइनमेंट तकनीक है। – WhozCraig

उत्तर

10

यह स्वाभाविक रूप से खराब शैली नहीं है, लेकिन आप प्रति पंक्ति केवल एक असाइनमेंट करके और संकलक अनुकूलक को चीजों को हल करने के लिए कोड को स्पष्ट कर सकते हैं। यदि आप एकाधिक-असाइनमेंट शैली का उपयोग करते हैं तो कभी-कभी यह स्पष्ट नहीं हो सकता है कि x = y = z = 10; जानबूझकर था या यह x = y = z + 10; जैसे किसी चीज़ के लिए टाइपो था या नहीं। प्रति स्टेटमेंट को एक असाइनमेंट पर हमेशा सीमित करके आप इसे स्पष्ट करते हैं जब टाइपोज होते हैं।

+0

यह समझ में आता है। जवाब के लिए धन्यवाद। :) – Caesar

5

जब तक आप जानते हैं कि उन्हें सभी एक ही मूल्य होना चाहिए, तब तक कोई समस्या नहीं है।

उदा।

x = y = z = 10; 

बदलते

को
x = y = z = 15; 

बहुत आसान है।

हालांकि, वे मनमाने ढंग से वही हैं, अलग-अलग असाइनमेंट इसे व्यक्त करते हैं, और परीक्षण के लिए अलग-अलग बदलना आसान होता है।

x = 10; 
y = 10; 
z = 10; 

को
x = 10; 
y = 15; 
z = 10; 

लाइन को तोड़ने के लिए होने से बेहतर है।

कुंजी यह है कि आप अगले प्रोग्रामर को कोड (या स्वयं 6 महीने में) देखने के लिए कह रहे हैं।

16

उन परिभाषाओं के साथ इसे आजमाएं:

int x; 
bool y; 
int z; 
x = y = z = 10; 

और एक्स का मान के बारे में आश्चर्य होगा।