2009-11-16 10 views
8

अधिकांश सी # शैली मार्गदर्शिका // या /// के पक्ष में/* .../टिप्पणी शैली के खिलाफ अनुशंसा करते हैं। पूर्व शैली से क्यों बचा जाना चाहिए?सी # कोडिंग शैली: टिप्पणियां

+1

एक समुदाय होना चाहिए विकी ... – Achilles

+0

@Achilles ... क्यों? – Brandon

+0

@ ब्रैंडन, जवाब उत्तर वरीयता का मामला है। – James

उत्तर

9

मैं नहीं कहूंगा कि मेरे पास एक मजबूत दृश्य है - लेकिन आईएमओ सबसे बड़ा मुद्दा यह है कि /* और */ अगर आप इसे नेस्टेड करते हैं तो गन्दा हो जाएं, साइड इफेक्ट के साथ कि आप सुरक्षित रूप से ब्लॉक को कॉपी/पेस्ट नहीं कर सकते (काफी)।

आप गलत कोड टिप्पणी/सक्षम के साथ आसानी से समाप्त हो सकते हैं, या इसके साथ समाप्त हो सकते हैं क्योंकि आप /* /* */ */ के साथ समाप्त हो गए हैं।

यदि आप // के ब्लॉक को प्रतिलिपि बनाते हैं, तो कोई नुकसान नहीं - केवल उन पंक्तियों पर टिप्पणी की जाती है।

+0

वे ठीक से घोंसला नहीं करते हैं। –

+1

@ जस्टिन: बिल्कुल ;-p –

3

/* */ बहु-लाइन कोड ब्लॉक के लिए ठीक है। उदाहरण के लिए कोड फ़ाइल के शीर्ष पर, कॉपीराइट जानकारी इत्यादि

// एकल पंक्ति के लिए आसान है।

कक्षा में कम से कम सभी सार्वजनिक सदस्यों के लिए हमेशा /// का उपयोग करें क्योंकि आपका XML दस्तावेज़ उस से उत्पन्न होता है जिससे आप सहायता फाइलें बना सकते हैं।

1

मुझे लगता है कि आप टिप्पणी करते हैं कि आप टिप्पणी करते हैं क्योंकि हम में से अधिकांश विजुअल स्टूडियो में शॉर्टकट के माध्यम से टिप्पणी कर रहे हैं। मैं ctr+K, ctrl+C का उपयोग करता हूं, चयनित चुनी पंक्तियों को अनमोल करने के लिए सभी चयनित पंक्तियां सुसंगत हैं और ctr+K ctrl+U हैं।

+0

क्या यह CTRL + E, C और CTRL + E, U नहीं है? –

+0

हाँ कुछ वीएस में यह संयोजन है लेकिन मुझे नहीं पता कि मैं अपने द्वारा बनाई गई किसी भी स्थापना के लिए उस का उपयोग कैसे करता हूं। मेरे कर्म के साथ कुछ है :)। –

0

मेरा अनुमान है क्योंकि किसी को प्रत्येक रेखा पर स्पष्ट वाक्यविन्यास की आवश्यकता होती है और कोई ऐसी टिप्पणियां बनाता है जो समापन */ का उपयोग नहीं होने पर कोड के बड़े अनुभागों पर टिप्पणी कर सकते हैं। यह सिर्फ सुरक्षित नहीं है।

1

मेरे राय है कि "//" बस में टाइप करने के लिए आसान है की तुलना में/**/

+0

+1 मुझे शिफ्ट -8 –

+0

पर हिट करने के लिए कीबोर्ड के चारों ओर घूमने के लिए +1 नहीं करता है, मैं हमेशा शिफ्ट के उपयोग के बिना एक दूसरे के बगल में numpad/और * का उपयोग करता हूं। – JulianR

6

एक उदाहरण जो मन में आता है कि यह गलती से एक /* शैली टिप्पणी बाधित करने के लिए संभव है। उदाहरण

/* This is the start of a comment that documents the 
    behavior of the +-*/ operators in our program 
*/ 

के लिए इस कोड को संकलित नहीं करता है, जबकि // संस्करण होगा। इसके अलावा /// दस्तावेज़ीकरण की एक विशिष्ट शैली का प्रतिनिधित्व करता है जिस पर बाहरी उपकरण अलग-अलग प्रतिक्रिया देते हैं।

1

मुझे लगता है कि /* */ अंततः डोडो का मार्ग जाएगा क्योंकि विजुअल स्टूडियो में आप केवल कोड के ब्लॉक का चयन कर सकते हैं और // शैली का उपयोग करके इसे टिप्पणी करने के लिए CTRL-E, C दबा सकते हैं।

+0

+1 मुझे इसे मारो। :) – Dusty

+0

Ctrl + Alt +/Resharper में या/या 'CodeRush में। –

1

मैं हमेशा वास्तविक टिप्पणियों के लिए // का उपयोग करता हूं, जबकि मैं/* */कोड के लिए अस्थायी रूप से डीबगिंग/विकास उद्देश्यों के लिए दौड़ना नहीं चाहता हूं।

केवल // का उपयोग करके, आप सुनिश्चित कर सकते हैं कि आप टिप्पणियों को घोंसले और अपने कंपाइलर रोने के बिना लाइनों/विधियों आदि के बड़े ब्लॉक को टिप्पणी कर सकते हैं।

6

// to/* .. */को पसंद करने के कुछ कारण हैं।

  • जैसा कि जेरेडपायर ने उल्लेख किया है, अजीब टिप्पणी-घोंसले के मुद्दे हैं जो/* */उपयोग के साथ फसल कर सकते हैं।
  • यदि आपने कभी भी कोड कोड फ़ाइलों को संसाधित करने वाले कुछ कोड लिखते/लिखते हैं, तो आप वास्तव में खुश होंगे यदि // विधि वह है जो आपको सौदा करना है।
  • "//" विधि के साथ टिप्पणी कोड के बड़े ब्लॉक को नजरअंदाज करना बहुत आसान है, खासकर यदि वाक्यविन्यास रंग अनुपलब्ध है। वास्तव में, आप अक्सर सुरक्षित होने के लिए, * के साथ prefixed/* */ब्लॉक में अलग-अलग पंक्तियां देखेंगे।
  • एक्सएमएल टिप्पणी शैली जो कि कोड प्रलेखन के उत्पादन के लिए उपयोग की जा सकती है, को "///" उपयोग करने की आवश्यकता होती है।
4

एक बात यह है कि/* */कर सकते हैं // एक पंक्ति के एक आंतरिक भाग पर टिप्पणी नहीं कर सकता है। इस मामले निरंतर, 0.0 में

 point = ConvertFromLatLon(lat, lon, 0.0 /* height */) ; 

, के रूप में तीसरे पैरामीटर ऊंचाई का प्रतिनिधित्व कर रहा है पारित किया जा रहा: मैं कभी कभी एक तरीका है, जहां कुछ स्पष्ट नहीं है के लिए एक पैरामीटर टिप्पणी करने के लिए इसका उपयोग करेंगे। बेशक यह बेहतर हो सकता है:

 double height = 0.0; 
     point = ConvertFromLatLon(lat, lon, height) ; 

(मैं और अधिक सिर्फ एक विशिष्ट मूल्य गुजर आज़माने के लिए अस्थायी रूप से/* */इंट्रा-लाइन का उपयोग करने की संभावना है।)

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