2012-01-10 15 views
5

क्या कोई भी मुफ्त, उपकरण है जो कोड के बढ़ते स्थिर विश्लेषण (एसवीएन और अधिमानतः गिट के लिए) की अनुमति देता है? वर्तमान में हम सोनार का उपयोग कर रहे हैं (2.12 मुझे लगता है?) लेकिन समस्या यह है कि इसे हमारे प्रोजेक्ट में सभी कोड का विश्लेषण करने की आवश्यकता है जो 40-60 मिनट है। और हमें इसे गुणा करने की आवश्यकता है क्योंकि हमारे पास विभिन्न उपप्रोजेक्ट्स पर काम करने वाली कई शाखाएं हैं।कोड के बढ़ते स्थिर विश्लेषण के लिए उपकरण?

यही कारण है कि मैं ऐसे टूल की तलाश में हूं जो केवल नवीनतम प्रतिबद्धता से कोड का विश्लेषण कर सके (जो, मेरे ज्ञान सोनार का समर्थन नहीं करता) या केवल कोड जो पिछले एक्स घंटों/दिनों/जो कुछ।

मैं सोनार, जो माना जाता है कि क्या करता है मैं (चेक केवल फ़ाइल है कि एक निश्चित तिथि के बाद संशोधित किया गया है से कोड) लेकिन चाहते हैं के लिए कट-ऑफ़ प्लगइन पाया है:

  1. मैं अभी भी अगर जांच करने की आवश्यकता यह
  2. जांचता है कि क्या यह गतिशील दिनांक परिवर्तनों का समर्थन करता है (इसलिए यह केवल अंतिम दिन से कोड को ध्यान में रखेगा और नहीं कि मुझे दैनिक रूप से बहिष्कृत तिथि को बदलना होगा)।
  3. ऐसा प्रतीत नहीं होता अच्छी तरह से (2010 में अंतिम परिवर्तन और यह अभी भी संस्करण 0.1 में है) समर्थित करने के लिए किया जा

यह सही होगा कि यह केवल प्रतिबद्ध पिछले से कोड की जाँच की है, लेकिन मैं हेवन ' टी कहीं भी देखा।

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

+0

क्या आप मुफ्त टूल्स ढूंढ रहे हैं? – kosa

+0

आह हाँ मैं इसका उल्लेख करना भूल गया: इसे मुक्त होना है। स्पष्ट रूप से सही नहीं होना चाहिए लेकिन मुक्त होना है। –

उत्तर

3

बहुत कम हैं, खासकर जब से कई टूल/नियम झूठी सकारात्मक संख्याओं को सीमित करने के लिए संभावित ढेर पर चलने पर भरोसा करते हैं। तो एक असेंबली में बदलाव के लिए कॉलिंग असेंबली के पुनर्मूल्यांकन की भी आवश्यकता होगी, यह उतना आसान नहीं है जितना कि यह बाहर से दिखता है।

स्थिर विश्लेषण को तेज करने के लिए स्रोत डिस्क और बाइनरी स्टोर करने के लिए मेमोरी डिस्क या एसएसडी में निवेश पर विचार करें। बहु-कोर मशीन का उपयोग करें, बहुत सारी मेमोरी है और जब भी संभव हो इन उपकरणों के x64 संस्करण को चलाएं। इनमें से कई टूल पहले I/O हैं और फिर CPU सीमित हैं। अधिकांश सुधार सिस्टम की विलंबता और थ्रूपुट को कम करके और I/O को कम करने के लिए आवश्यक स्वैपिंग (पर्याप्त मेमोरी के द्वारा) की मात्रा को कम करके पाया जा सकता है।

आप डेवलपर्स के बीच साझा की जा सकने वाली एक अलग मशीन पर निर्माण समय को ऑफ़लोड करने के लिए बिल्ड सर्वर पर एक बिल्ड बिल्ड/मान्य शेल्व सेट बिल्ड का भी उपयोग कर सकते हैं।

  1. PMD
  2. Checkstyle
  3. FindBugs

उच्च संभावना है कि आप सोनार के लिए यह उपयोगी विकल्प मिलेगा:

+0

आह की इच्छा है कि मैं आप जिस गियर के बारे में बात कर रहा हूं उसे प्राप्त कर सकें :) अभी के लिए मुझे कटऑफ प्लगइन के साथ दैनिक निर्माण से संतुष्ट होना है। मुझे लगता है कि कुछ भी बेहतर नहीं है। –

+0

इन चीज़ों में निवेश न करके आप जो खो रहे हैं उसे संक्षेप में देखें, आप आश्चर्यचकित होंगे कि आप कितने समय से बचाए गए समय के साथ सुधार कर सकते हैं। – jessehouwing

0

के रूप में भी स्थिर विश्लेषण के लिए इस तरह के उपकरणों रहे हैं।

आपने उल्लेख नहीं किया कि आप निरंतर एकीकरण उपकरण का उपयोग करते हैं या नहीं।शायद इन उपकरणों में से किसी का उपयोग करके निरीक्षण चलाने के लिए आपको इसकी आवश्यकता होगी और चलाना होगा।

+0

हाँ हम पहले 3 का उपयोग कर रहे थे लेकिन सोनार के लिए स्विच किया गया जो अब सभी काम करता है। सीआई के रूप में हम हडसन का उपयोग कर रहे हैं। –

+0

तो शायद आपको चल रहे निरीक्षणों की संख्या को कम करने की आवश्यकता है? – altern

+0

हाँ मैंने पहले ही 2 सुधार किए हैं: सबसे पहले मैं हडसन में एक अलग सोनार नौकरी नहीं चलाता, जो पहले पूरे आवेदन सीआई-शैली का निर्माण करेगा और फिर इसे सोनार के लिए फिर से करेगा, लेकिन मैंने सोनार के निर्माण के बाद सही शुरुआत की है सीआईएस। तब मुझे परीक्षण चलाने की ज़रूरत नहीं है और मैं केवल लेटेट्स परिवर्तनों का विश्लेषण करता हूं। पूरी बात अब लगभग 10 मिनट है और मुझे लगता है कि बीमार को भी बेहतर परिणाम मिलता है। –

0

मुझे पता है मैं पार्टी के लिए देर हो रही है, लेकिन वहाँ एक और उपकरण है कि आप के लिए प्रासंगिक हो सकती है: Teamscale

Teamscale के तुरंत बाद अपना भंडार (जैसे Git या SVN) को जोड़ता है और संवर्द्धित अपने कोड का विश्लेषण, प्रत्येक प्रतिबद्धता। इसके साथ, आपको अपनी प्रतिबद्धता के तुरंत बाद नई/निश्चित कोड समस्याओं के बारे में प्रतिक्रिया मिलती है। आप अपने कोड का पूरा इतिहास भी देख सकते हैं, झूठी सकारात्मकताओं को ब्लैकलिस्ट कर सकते हैं, और भी बहुत कुछ। (पूर्ण प्रकटीकरण: मैं एक टीमस्केल डेवलपर हूं)

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