2010-04-28 21 views
8

आप अपने आप को मानकों पर कोडिंग कैसे करते हैं? सी # के लिए stylecop और resharper है। जावा में कोड analisys के लिए कोई उपकरण/ग्रहण प्लगइन्स हैं? आप उनमें से किस का उपयोग करते हैं?जावा कोडिंग शैली

उत्तर

11

Checkstyle मदद करने के लिए प्रोग्रामर जावा कोड है कि एक कोडन मानक का पालन बारे में एक विकास उपकरण है। यह इस उबाऊ (लेकिन महत्वपूर्ण) कार्य के मनुष्यों को छोड़ने के लिए जावा कोड की जांच करने की प्रक्रिया को स्वचालित करता है। यह उन परियोजनाओं के लिए आदर्श बनाता है जो कोडिंग मानक को लागू करना चाहते हैं। चेकस्टाइल अत्यधिक विन्यास योग्य है और लगभग किसी भी कोडिंग मानक का समर्थन करने के लिए बनाया जा सकता है। एक उदाहरण कॉन्फ़िगरेशन फ़ाइल को सूर्य संहिता सम्मेलनों का समर्थन करने की आपूर्ति की जाती है। साथ ही, अन्य नमूना विन्यास फाइलों को अन्य प्रसिद्ध सम्मेलनों के लिए आपूर्ति की जाती है।

PMD के साथ एकीकृत है J डेवलपर, ग्रहण, jEdit, JBuilder, BlueJ, CodeGuide, NetBeans/सन जावा स्टूडियो उद्यम/निर्माता, IntelliJ विचार, TextPad, Maven, चींटी, जेल, जेक्रिएटर, और Emacs।

FindBugs बग पैटर्न की घटनाओं के लिए जावा बाईटकोड निरीक्षण करने के लिए स्थिर विश्लेषण का उपयोग करता है। स्टेटिक विश्लेषण का मतलब है कि FindBugs किसी प्रोग्राम के कोड का निरीक्षण करके बग पा सकते हैं: प्रोग्राम निष्पादित करना जरूरी नहीं है। इससे FindBugs का उपयोग करना बहुत आसान हो जाता है: सामान्य रूप से, आप इसे डाउनलोड करने के कुछ मिनटों के भीतर अपने कोड में बग देखने के लिए इसका उपयोग करने में सक्षम होना चाहिए। FindBugs जावा बाइटकोड (संकलित क्लास फाइल) का विश्लेषण करके काम करता है, इसलिए आपको इसका उपयोग करने के लिए प्रोग्राम के स्रोत कोड की भी आवश्यकता नहीं है। चूंकि इसका विश्लेषण कभी-कभी कमजोर होता है, FindBugs झूठी चेतावनियों की रिपोर्ट कर सकता है, जो चेतावनियां हैं जो वास्तविक त्रुटियों को इंगित नहीं करती हैं। अभ्यास में, FindBugs द्वारा रिपोर्ट की गई झूठी चेतावनियों की दर 50% से कम है।

+0

पीएमडी जेड डेवलपर में एकीकृत है, क्या आपको इसे 'सक्रिय' करने की आवश्यकता है? यह डिफ़ॉल्ट रूप से काम करता है? एनएम- मैंने बस http://pmd.sourceforge.net/integrations.html पर देखा और ऐसा लगता है कि इसे स्थापित करने की आवश्यकता है और फिर सक्रिय किया गया है। मैंने सोचा कि यह बनाया गया था। – ProfessionalAmateur

4

मैं Checkstyle का उपयोग यह सुनिश्चित करने के लिए करता हूं कि कोड कुछ नियमों का पालन करता है। चेकस्टाइल plugin for Eclipse.

+0

लिंक ग्रहण में कॉन्फ़िगर करने के लिए जांच नहीं कर रहा है और – gmhk

+0

दोनों लिंक मेरे लिए काम करते हैं। अगर आपकी मशीन पर प्लगइन स्थापित करने में कोई समस्या है तो यह मेरी गलती नहीं है। तो डाउनवोट क्यों? – Ham

2

आत्म-अनुशासन के साथ क्या गलत है? यदि आप फ़ॉर्मेटिंग के रूप में कुछ छोटे के लिए ऐसा नहीं कर सकते हैं, तो मुझे कोड के अन्य गुणवत्ता पहलुओं के लिए बहुत उम्मीद नहीं है।

+0

आप कैसे सुनिश्चित कर सकते हैं कि आपकी टीम में हर व्यक्ति कोड सम्मेलनों से अवगत है? – folone

+0

@folone, जब @Tim Hawtin - tackline चेकस्टाइल के माध्यम से अपनी टीम के कोड चलाता है, इसमें कोई संदेह नहीं है कि हर बार 100% सही है। काश मैं अपने कोड के लिए वही कह सकता हूं। –

+0

एक विकास दर्शन है कि एक मनुष्य को ऐसा नहीं करना चाहिए जो कंप्यूटर कर सकता है। हां, कोड लिखते समय यह 95% समय के सम्मेलनों का पालन करता है। क्या अब मैं उस अंतिम 5% की खोज करने में एक घंटे बिताता हूं या क्या मैं सिर्फ 'जलोपी' या ग्रहण फॉर्मेटर जैसे टूल का उपयोग करता हूं जो इसे मेरे लिए करता है। मैं आपको एक अनुमान दूंगा। – bgiles

0

हम अपनी कंपनी में केवल Checkstyle का उपयोग करते हैं, केवल जवाडोक चेक के लिए।

यह अच्छी तरह से है कि आप विभिन्न मॉड्यूल को कॉन्फ़िगर करने के लिए सामान शामिल करने के लिए कॉन्फ़िगर कर सकते हैं, और किस स्तर पर (सुरक्षित, सार्वजनिक, निजी आदि में)।

एक हेड-अप यह है कि जावाडोक-जांच के लिए आपको स्पष्ट रूप से यह बताने की आवश्यकता है कि throw को कई अपवादों की अनुमति है या नहीं। ऐसा इसलिए है क्योंकि निर्माता सोचते हैं कि एक विधि को एक से अधिक अपवाद फेंकने के लिए यह खराब डिजाइन है (वे अन्य शब्दों में डिजाइन को नियंत्रित करने की कोशिश कर रहे हैं, आईएमएचओ से संबंधित नहीं हैं)।

5

Checkstyle और FindBugs और PMD। बाद वाले दो शैली के औजारों की तुलना में बहुत अधिक हैं। लेकिन टीम के सदस्यों के साथ-साथ उपकरण की कॉन्फ़िगरेशन के लिए एक समझौता करने के लिए आमतौर पर कुछ प्रयास किए जाने हैं।

0

टीम/विभाग/संगठन के सभी डेवलपर्स को वितरित कोडिंग मानकों का दस्तावेज एक अच्छी शुरुआत है।

+1

मुझे यकीन नहीं है, आप कैसे आश्वस्त करते हैं कि हर कोई छोटे बदलाव के बाद भी इसे पढ़ता और याद करता है। यदि आप आश्वस्त करना चाहते हैं कि लोग बहुत सारे प्रयास और प्रेरणा को खो देते हैं। अन्यथा यह सिर्फ एक और दस्तावेज़ होगा जो कोई भी नहीं पढ़ता है। – bertolami

+0

इसका उपयोग अनिवार्य होना चाहिए। यदि आप कोडिंग मानक चाहते हैं तो आपको यह सुनिश्चित करने के लिए मानक और नीति का वर्णन करने का कोई तरीका चाहिए कि हर कोई मानक का पालन करता है। आपके कोडिंग मानक में प्रकाशित होने के बाद इसे बहुत कम बदलाव नहीं किए जाने चाहिए। मुझे बुनियादी कोडिंग मानकों (जैसे पठनीयता और स्पष्टता) के बारे में उच्च स्तरीय समझौता करना सबसे अच्छा तरीका है और ब्रैकेट प्लेसमेंट इत्यादि के बारे में चिंता न करें। वाईएमएमवी। स्पष्ट रूप से जूनियर डेवलपर्स को अधिक अनुभवी से अधिक मार्गदर्शन की आवश्यकता है। – t0ne

4

उपरोक्त के अलावा, Jalopy कोड स्वरूपण के लिए एक अच्छा उपकरण है।

0

ग्रहण कंपाइलर चेतावनियां और कोड फ़ॉर्मेटर हमारे लिए नौकरी करता है। हालांकि मुझे पता है कि चेकस्टाइल कोड के वास्तविक डिज़ाइन के लिए काफी अधिक अर्थपूर्ण जांच करता है, बजाय इसे समझदारी से बाहर रखना।

4

आप Sonar पर एक नज़र डाल सकते हैं। यह एक ओपन सोर्स प्रोजेक्ट है जो वास्तव में चेकस्टाइल, पीएमडी और फाइंडबग के निष्पादन को आसान बनाता है।

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