2009-05-21 5 views
5

संभावित डुप्लिकेट:
Formatting of if Statements
Is there a best coding style for identations (same line, next line)?
Best way to code stackoverflow style 'questions'/'tags' rollover buttonsक्या ब्रैकेट प्लेसमेंट पठनीयता को प्रभावित करता है?

public void Method { 

} 

या

public void Method 
{ 

} 

निजी पसंद के अलावा क्या कोई फायदा है एक शैली के दूसरे पर? मैं दूसरी विधि से कसम खाता था, हालांकि अब काम और व्यक्तिगत परियोजनाओं के लिए पहली शैली का उपयोग करता हूं। यदि/बाकी आदि ...

+0

http://stackoverflow.com/questions/159366/is-there-a-best-coding-style-for-identations-same-line-next-line – Kena

+4

क्यों नहीं पहले से ही विज्ञापन-मतली पर चर्चा की गई है क्यों नहीं इस सवाल से पूछें कि vi या emacs प्रोग्रामिंग के लिए बेहतर है या नहीं? – Kevin

+0

और http://stackoverflow.com/questions/249432/whats-the-reasoning-behind-the- dififferent-brace-forms – Kena

उत्तर

5

मुझे लगता है कि यह पूरी तरह से व्यक्तिपरक है, हालांकि, मुझे लगता है कि आपकी टीम के लिए कोड मानकों को स्थापित करना महत्वपूर्ण है और हर कोई एक ही शैली का उपयोग करता है। ऐसा कहा जा रहा है कि मुझे दूसरा पसंद है (और मेरी टीम ने इसे इस्तेमाल किया है) क्योंकि यह आपके कोड नहीं होने पर पढ़ने में आसान लगता है।

1

कोड गिनती का आपका लाइनों पहला विकल्प के साथ काफी कम हो जाएगा -

पठनीयता से मेरा उन तरीकों में कोड की कल्पना मतलब है। :)

+0

तो, यदि आपका प्रदर्शन मापता है कि प्रतिदिन कितनी लाइनें आप उत्पादन करते हैं ... –

3

पहले एक लाइनों की संख्या के मामले में छोटे (शायद यही वजह है कि किताबें -Java- विकास कि सिंटैक्स का उपयोग करते हैं),

दूसरा एक है के रूप में आप हमेशा दो संरेखित किया गया है IMHO पढ़ने में आसान है कोष्ठक।

वैसे भी उनमें से दोनों व्यापक रूप से उपयोग किए जाते हैं, यह आपकी व्यक्तिगत वरीयताओं का विषय है।

5

पुराने दिनों में हम पहली शैली (के & आर शैली) का उपयोग करते थे क्योंकि स्क्रीन छोटी थी और अक्सर कागज़ नामक इस सामान पर कोड मुद्रित किया जाता था।

इन दिनों हमारे पास बड़ी स्क्रीन है और दूसरी विधि (एएनएसआई शैली) यह देखने में आसान बनाता है कि आपके ब्रैकेट मेल खाते हैं या नहीं।

अधिक जानकारी के लिए HERE और HERE देखें।

1

मैं इस अत्यधिक भावनात्मक विषय में किसी कारण के रूप में if स्टेटमेंट का उपयोग करता हूं।

if (cond) { 
    //code 
} 

सिर्फ यह पूछकर कि अन्य कथन कैसा दिखता है? उपर्युक्त का तार्किक विस्तार है: -

if (cond) { 
    //code 
} else { 
    //more code 
} 

क्या वह पठनीय है? मुझे ऐसा नहीं लगता है और यह सिर्फ सादा बदसूरत है।

अधिक लाइनें हैं = = कम पठनीय। इसलिए मैं आपके बाद के विकल्प के साथ जाऊंगा।

+0

पर्ल कोड "अगर (cond) {\ n \ t ... \ n} \ n else {\ n \ t ... \ n}" होता है, जो मुझे संक्षिप्त और भीड़ के बीच एक अच्छा व्यापारिक लगता है । – ephemient

7

Google C++ Style Guide समारोह नाम के रूप में एक ही लाइन पर पता चलता है

प्रकार वापसी, एक ही लाइन पर मानकों अगर वे फिट।

कार्य इस तरह दिखेगा:

ReturnType ClassName::FunctionName(Type par_name1, Type par_name2) { 
    DoSomething(); 
    ... 
} 

WebKit Coding Style Guidelines पता चलता है

समारोह परिभाषाएँ: जगह अपनी पंक्ति में प्रत्येक ब्रेस।

अधिकार:

int main() 
{ 
    ... 
} 

गलत:

int main() { 
    ... 
} 

वे सब कुछ के लिए ब्रेसिज़-ऑन-एक ही लाइन का सुझाव है, हालांकि।


GNU Coding Standards पता चलता है

यह खुले ब्रेस उस स्तंभ से एक में एक सी समारोह के शरीर शुरू होता है, ताकि वे एक defun शुरू कर देंगे डाल करने के लिए महत्वपूर्ण है। सी टूल्स की शुरुआत को खोजने के लिए कई टूल कॉलम में ओपन-ब्रेसेस की तलाश करते हैं। ये टूल उस कोड पर काम नहीं करेंगे जो इस तरह से स्वरूपित नहीं है।

एक समारोह के अंदर कॉलम में ओपन-ब्रेस, ओपन-कंस्ट्रैसिस या ओपन-ब्रैकेट डालने से बचें, ताकि वे एक डिफ्यून शुरू नहीं कर सकें। ओपन-ब्रेस जो एक स्ट्रक्चर बॉडी शुरू करता है, कॉलम एक में जा सकता है यदि आपको उस परिभाषा को डिफ्यून के रूप में इलाज करने में उपयोगी लगता है।

कॉलम में फ़ंक्शन का नाम शुरू करने के लिए फ़ंक्शन परिभाषाओं के लिए भी महत्वपूर्ण है। यह लोगों को फ़ंक्शन परिभाषाओं की खोज करने में सहायता करता है, और कुछ टूल उन्हें पहचानने में भी मदद कर सकता है। इस प्रकार, स्टैंडर्ड सी सिंटैक्स का उपयोग, प्रारूप इस प्रकार है:

static char * 
concat (char *s1, char *s2) 
{ 
    ... 
} 

या, आप, पारंपरिक सी सिंटैक्स का उपयोग इस तरह परिभाषा प्रारूप करना चाहते हैं:

static char * 
concat (s1, s2)  /* Name starts in column one here */ 
    char *s1, *s2; 
{      /* Open brace in column one here */ 
    ... 
} 

आप के रूप में देख सकते हैं, हर किसी की अपनी राय है। निजी तौर पर, मैं पर्ल-आश ब्रेसिज़-ऑन-लाइन-को-else को छोड़कर पसंद करता हूं, लेकिन जब तक कोड पर काम करने वाले सभी लोग सहयोग कर सकते हैं, तो इससे कोई फर्क नहीं पड़ता।

1

व्यक्तिगत रूप से मुझे दूसरा एक और पठनीय (गठबंधन घुंघराले) लगता है।

डिफ़ॉल्ट टीम के साथ जाने के लिए टीम के लिए यह हमेशा आसान होता है, और चूंकि विजुअल स्टूडियो और मैं इस पर सहमत हूं, यह मेरा तर्क है। ;-)

+0

अधिक सटीक होने के लिए वीएस __defaults__ आपके साथ सहमत हैं लेकिन इन्हें वरीयता के लिए tweaked किया जा सकता है। थोड़ा अजीब बात यह है कि वीएस के लिए डिफ़ॉल्ट स्वरूपण कॉन्फ़िगरेशन अक्सर टेम्पलेट्स में प्रयुक्त प्रारूपण से अलग होता है। – AnthonyWJones

+0

@AntonyWJones हाँ, हम डिफ़ॉल्ट के साथ जाने पर सहमत हैं ... ;-) और, हाँ क्यों टेम्पलेट्स का पालन नहीं करते !!! –

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

  • कोई संबंधित समस्या नहीं^_^