2011-01-22 11 views
8

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

तो मैं एक ऐसे टूल की तलाश में हूं जो मुझे मौजूदा शैली को दोबारा करने की अनुमति दे। मानक कोड स्वरूपण उपकरण, जैसे इंडेंटेशन शैली को बदलने जैसी कई सुविधाएं पहले से ही उपलब्ध कराई गई हैं। जो मैं याद कर रहा हूं वह एक ऐसा उपकरण है जो मुझे फ़ील्ड और पैरामीटर नामों के उपसर्गों को पट्टी करने की अनुमति देता है। कुछ परियोजनाओं में सभी सदस्यों को "एम" के साथ prefixed किया जाता है, सभी पैरामीटर "पी" के साथ prefixed हैं और स्थिर सदस्यों "एस" के साथ prefixed हैं।

उपकरण तरह के मामलों को संभालने के लिए सक्षम होना चाहिए:

void setValue(String pValue) { 
    mValue = pValue; 
} 

कौन हो जाना चाहिए:

void setValue(String pValue) { 
    int value = 42 
} 
:

void setValue(String value) { 
    this.value = value; 
} 

उपकरण इस तरह के मामले में एक चेतावनी उत्पन्न करनी चाहिए

मुझे पता है कि हर प्रमुख आईडीई रिफैक्टर प्रदान करता है: सुविधा का नाम बदलें। जो मैं खोज रहा हूं वह एक उपकरण है जो बिना किसी पैरामीटर/फ़ील्ड पर व्यक्तिगत रूप से जाने की आवश्यकता के बिना एक संपूर्ण कोड बेस को संसाधित करता है।

संपादित

जवाब का एक बहुत उपकरण फिर से प्रारूप स्रोत कोड या शैली नियमों का एक सेट के खिलाफ कोड बेस की जाँच करने का उल्लेख है। मुझे पता है कि वे उपकरण मौजूद हैं। जो मैं विशेष रूप से ढूंढ रहा हूं वह एक उन्नत टूल है जो मुझे स्कोप विशिष्ट चर नाम नाम उपसर्ग को हटाने की अनुमति देता है।

+0

मैं refactor उपकरण जो ऐसा कर सकते हैं पता नहीं है, फिर भी, मुझे पता है कि [Checkstyle] (http://checkstyle.sourceforge.net/) हंगेरियन नोटेशन पर पता लगा सकते हैं और चेतावनी दे सकते हैं। – BalusC

+0

क्या आप [astyle] (http://astyle.sourceforge.net/) में देखना नहीं चाहते हैं? – Uroc327

उत्तर

-2

FindBugs कोड स्थैतिक विश्लेषण के लिए एक बहुत अच्छा उपकरण है। यह वास्तव में संभावित बग की पड़ताल करता है और आईडीई में एकीकृत करने और उपकरण बनाने में आसान है।

+3

ओपी विशेष रूप से एक रिफैक्टर उपकरण मांग रहा था। FindBugs (और CheckStyle) नहीं है। – BalusC

+1

मैं बलुस – Krishna

0

मुझे एक मौजूदा परियोजना से अवगत नहीं है जो आपके लिए यह करेगा।

क्या आपने अपना खुद का लेखन माना है? उदाहरण के लिए, ग्रहण ढांचा ठोस कोड स्वरूपण उपकरण प्रदान करता है। क्या आपने उनमें से एक को विस्तारित करने के लिए जांच की है? आपके द्वारा वर्णित पैटर्न के साथ नामित चर का पता लगाना काफी सरल होना चाहिए।

मुझे एहसास है कि यह एक आदर्श समाधान नहीं है। लेकिन, यदि आपके पास पर्याप्त पर्याप्त कोड आधार है, तो यह हाथ से सभी संपादन करने से अधिक लागत प्रभावी हो सकता है।

0

Jalopyजैसे सहायता जैसे कुछ लगता है।

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

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

हालांकि एक समस्या यह है कि ऐसा लगता है कि इसे एक वर्ष तक नहीं रखा गया है या ऐसा। लेकिन, commercial version too है जो हाल ही में है - ऐसा लगता है कि प्रयास उस दिशा में गए थे। फिर भी पुरानी रिलीज ठीक हो सकती है।

और अन्य समान वाणिज्यिक प्रसाद जैसे Jindent हैं।

+0

से सहमत हूं ऐसा लगता है कि इस प्रोजेक्ट में अंगूठे की तुलना में अधिक अंगूठे हैं। :) – limc

+0

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

1

क्या आपने एक्लिप्स के Clean Up उपकरण को आजमाया है? अनुमोदित, यह आपके कुछ उदाहरण यहां दिखाए जाने वाले नहीं हैं, लेकिन यह मेरी राय में एक सुंदर सभ्य नौकरी करता है।

+0

ग्रहण साफ़ उपकरण उपकरण परिवर्तनीय उपसर्ग को हटा नहीं सकता है। मुझे पता है कि यह टूल बहुत से मामलों में बहुत उपयोगी है, लेकिन यह उस विशेष मामले का समर्थन नहीं करता है जिसे मैं विशेष रूप से पूछ रहा था। –

2

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

0

ग्रहण आईडीई आपकी समस्या के लिए सबसे अच्छा विकल्प है ..

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

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