2013-02-04 15 views
39

मैं सीएलआई पर चलने में सक्षम जावा लिटर खोजने की कोशिश कर रहा हूं जो ग्रहण से अलग है जिसे मैं गिट के लिए या हमारी स्वचालित बिल्ड स्क्रिप्ट से प्रतिबद्ध हुक के रूप में कॉल कर सकता हूं। क्या ऐसी किसी वस्तु का अस्तित्व है?क्या कोई साधारण सीएलआई जावा लिटर है?

आदर्श रूप से इसे अप्रयुक्त आयात और चर के लिए जांच करने की आवश्यकता है, शैली के दिशानिर्देशों का पालन किया जाता है, अपवादों का सही ढंग से उपयोग किया जाता है, आदि। हालांकि उन सुविधाओं का कुछ सबसेट बेहतर होगा जो हमारे पास अब कुछ भी नहीं है!

+1

//, क्या यह सॉफ़्टवेयर अनुशंसा के लिए अनुरोध नहीं है? –

उत्तर

36
  • Findbugs मौजूदा बग खोजने के लिए। बहुत अच्छा!
  • खोजने पैटर्न है कि कीड़े का कारण बन सकता के लिए PMD (जैसे अप्रयुक्त चर)
  • Checkstyle कोडिंग मानकों और परंपराओं (जैसे श्वेत रिक्ति, जावाडोक)
  • Error Prone हुक सही अपने आवेदन की संकलन कदम में लागू करने के लिए

इन सभी उपकरणों में कुछ ओवरलैपिंग नियम हैं। कई अन्य समान उपकरण हैं, लेकिन ये सबसे लोकप्रिय और समर्थित हैं।

+0

क्या आप कहेंगे कि Findbugs और PMD अलग-अलग चीजें करते हैं? पिछली बार मैंने इसमें देखा, मैंने निष्कर्ष निकाला कि वे इतने समान थे कि हमें केवल एक की आवश्यकता थी (और पीएमडी चुना गया)। हमने चेकस्टाइल भी चलाया, और हां, पाया कि यहां तक ​​कि पीएमडी और चेकस्टाइल ओवरलैप भी है। –

+0

@ टॉम एंडरसन - मैं कहूंगा कि वे निश्चित रूप से अलग-अलग चीजें करते हैं, हां। उनमें से दोनों के लिए मूल्य है (जाहिर है, साथ ही ओवरलैप भी है)। – jtahlborn

+0

हां, बहुत अलग लक्ष्य। Findbugs गहरी विश्लेषण करके कभी-कभी वास्तविक बग खोजने की कोशिश करता है। पीएमडी सिर्फ पैटर्न की तलाश करता है जिसे कभी-कभी बग का कारण बनता है। निजी तौर पर, मैं फाइंडबग और चेकस्टाइल का उपयोग करता हूं क्योंकि कम ओवरलैप होता है। – mikeslattery

4

इसके अलावा, Sonar देखें, जो कई अन्य उपकरणों को जोड़ता है और इसके लिए भी एक अच्छा दृश्य प्रदान करता है।

चेकस्टाइल, FindBugs, पीएमडी, क्लियर, एफबी-contrib से नियम।


एक हुक के बाद प्रतिबद्ध करने के लिए इसे जोड़ने के लिए वास्तव में कैसे सुनिश्चित नहीं हैं, लेकिन http://docs.codehaus.org/display/SONAR/Analyzing+with+Maven एक अच्छा प्रारंभिक बिंदु हो सकता है (आप Maven का उपयोग कर रहे विशेष रूप से अगर)।

शायद http://docs.codehaus.org/display/SONAR/Continuous+Integration में सूचीबद्ध तरीकों में से एक का उपयोग कर के बाद से ऐसा लगता है कि आप अपनी पूरी टीम के लिए बेहतर टूलींग देखने के लिए प्रयास कर रहे हों पर विचार ("हालांकि उन सुविधाओं में से कुछ सबसेट बेहतर होगा क्या हम अब है - कुछ भी नहीं! "

+0

+1 प्रश्न पूछने के चार साल बाद, सोनारक्यूब अधिक सक्रिय, आधुनिक और पूर्ण प्रतीत होता है। यह ऊपर वर्णित टूल्स को गठबंधन करता था, लेकिन अब यह उन्हें ओवरलैप से बचने के लिए लागू करता है https://blog.sonarsource.com/already-158-checkstyle-and-pmd-rules-deprecated-by-sonarqube-java-rules/ – user2518618

1

यह वही है जो मैं काम कर रहा हूं: जावा कोड की गुणवत्ता की जांच करने के लिए एक उपकरण सीएलआई-अनुकूल है। इसमें एक इंटरैक्टिव मोडैलिटी भी है। आप एकल प्रश्नों को चला सकते हैं (एकल की जांच के लिए चेतावनियां) या सभी प्रश्न एक साथ।

उपकरण शुरुआती चरण में हैं लेकिन मैं लगभग हर दिन काम कर रहा हूं। यह उसे उपलब्ध है ई:

https://github.com/ftomassetti/effectivejava

कृपया मुझे पता आप इसके बारे में क्या सोचते हैं और सवाल पूछने के लिए स्वतंत्र महसूस करते हैं।

+0

इस परियोजना की अंतिम प्रतिबद्धता 2 साल पहले थी। निश्चित नहीं है कि यह सक्रिय रूप से विकसित किया जा रहा है या नहीं। –

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