2013-01-17 25 views
8

मेरी परियोजना में से एक पर सोनार चलाने के बाद मुझे 'पिछली टिप्पणियों' के लिए उल्लंघन मिलता है। तो मुझे आश्चर्य है, क्या यह जावा के लिए स्वीकार्य/अनुशंसित कोड लेआउट सम्मेलनों से पूरी तरह से संबंधित है या क्या इसके लिए 'अधिक है'? इसके पीछे तर्क क्या है? जब मैं कुछ सी ++ कोड (हालिया Doom code review पर देख रहा हूं, तो पीछे की टिप्पणियां (या बाध्यकारी) पीछे की टिप्पणियां हैं।सोनार, जावा और 'पिछली टिप्पणी' उल्लंघन

+3

http://www.cwu.edu/~gellenbe/javastyle/trailing.html –

उत्तर

14

प्रसिद्ध पुस्तक Code Complete से:

  • टिप्पणी गठबंधन किया जाना है ताकि वे कोड के दृश्य संरचना के साथ हस्तक्षेप नहीं करते है। यदि आप उन्हें अच्छी तरह से संरेखित नहीं करते हैं, तो वे आपकी लिस्टिंग को वॉशिंग मशीन के माध्यम से देख सकते हैं।

  • एंडलाइन टिप्पणियां प्रारूपित करना कठिन होती हैं। उन्हें संरेखित करने में समय लगता है। इस तरह के समय कोड के बारे में और अधिक सीखने में खर्च नहीं किया जाता है; यह केवल स्पेसबार या टैब कुंजी दबाए जाने के कठिन कार्य को समर्पित है।

  • एंडलाइन टिप्पणियां बनाए रखना भी मुश्किल है। यदि किसी भी पंक्ति पर कोड समाप्त होने वाली किसी भी पंक्ति पर कोड बढ़ता है, तो यह टिप्पणी को आगे बढ़ाता है, और अन्य सभी एंडलाइन टिप्पणियों को मैच के लिए बाहर निकलना होगा। बनाए रखने के लिए कठिन शैलियों को बनाए रखा नहीं है।

  • एंडलाइन टिप्पणियां भी गूढ़ होती हैं। रेखा का दाहिने तरफ ज्यादा जगह नहीं है और एक पंक्ति पर टिप्पणी रखने की इच्छा का मतलब है कि टिप्पणी कम होनी चाहिए। कार्य तब संभव हो जितना संभव हो सके जितना संभव हो उतना छोटा लाइन बनाने में चला जाता है। टिप्पणी आमतौर पर यथासंभव गुप्त के रूप में समाप्त होती है।

  • एंडलाइन टिप्पणियों के साथ एक व्यवस्थित समस्या यह है कि कोड की एक पंक्ति के लिए एक सार्थक टिप्पणी लिखना मुश्किल है। अधिकांश एंडलाइन टिप्पणियां केवल कोड की रेखा दोहराती हैं, जो इससे अधिक दर्द करती है इससे मदद मिलती है।

कहा करने के बाद कि, यह शैली कोडिंग के बारे में एक की पसंद के बारे में भी है। मैं व्यक्तिगत रूप से पिछली टिप्पणियों से बचूंगा क्योंकि वे बहुत मदद नहीं करते हैं।

+0

आपका मतलब है कि पुस्तक को पढ़ने की आवश्यकता है या कम से कम देखा है!? मैंने सोचा कि अगर यह शेल्फ पर बैठता है, तो मेरे नज़दीक गर्मी जो काफी अच्छी होगी। – vector

+1

@vector मैं एक शैक्षिक तकनीक के रूप में ऑस्मोसिस को मंजूरी देता हूं। –

4

पिछली टिप्पणियां कुछ भी खराब नहीं हैं। हालांकि, आपको अपना कोड यथासंभव स्पष्ट रूप से लिखना चाहिए ताकि आप इस बारे में अधिक जानकारी के लिए टिप्पणियों का उपयोग कर लाइन द्वारा अपने कोड लाइन को समझाने के लिए नहीं है। यही कारण है कि कुछ लोगों को एक संकेत है कि कोड पर्याप्त समझ नहीं है के रूप में कोड की टिप्पणियां अनुगामी पर विचार नहीं है।

भी देखें Java Style Guide

5

सिर्फ इसलिए कि में पीछे की टिप्पणियों का मतलब यह नहीं है कि वे goo हैं डी। यह भी ध्यान रखें कि डूम 3 का कोड ~ 10 साल पुराना है, और समय के साथ कोडिंग शैली बदलती है।

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

कुछ स्रोतों के माध्यम से देखकर मैं वास्तव में पीछे की टिप्पणियों का एक टन देखता हूं, हालांकि मुझे बहुत सारी विधियां दिखाई देती हैं जो बहुत लंबी हैं, और कार्यों के बीच में बहुत सी टिप्पणियां हैं।

जो अक्सर संकेत देते हैं कि निम्न कोड अपनी विधि के योग्य है।

मैं तर्क दूंगा कि हाँ, इसके लिए और भी कुछ है, और "अधिक" संचार और स्पष्टता है।