2010-02-11 12 views
9

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

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

किसी ने भी इस मुद्दे को पार कर लिया है? या इस बारे में जाने का एक और तरीका मिला?

धन्यवाद।

उत्तर

9

जब मैं मॉड्यूल यह पूरी तरह से ध्यान नहीं देता है तथ्य यह है कि अन्य मॉड्यूल सार्वजनिक सदस्यों में से कुछ का उपयोग कर किया जा सकता है में से एक पर चला ...

हाँ, यही समस्या है, और यही कारण है वहाँ this previous answer में @cletus द्वारा अनुशंसित के रूप में अप्रयुक्त कोड खोजने के लिए कोई वास्तविक निर्धारक तरीका नहीं है।

ही कहा है, PMD (और इसके unusedcode नियम) जैसे उपकरणों, Findbugsहो सकता है मदद वैसे भी। आईडीई IntelliJ (जावा कोड निरीक्षण समुदाय संस्करण में पूरी तरह से उपलब्ध हैं) और ग्रहण के लिए भी इसका अच्छा समर्थन है।

इंटेलीजे के लिए, Global unused declaration inspection पर एक नजर है:

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

UCDetector (अनावश्यक कोड डिटेक्टर) एक मुक्त स्रोत है अनावश्यक (मृत) सार्वजनिक जावा कोड को खोजने में वह प्लग-उपकरण ग्रहण:

ग्रहण के लिए, वहाँ UCDetector प्लगइन है। यह कोड को अंतिम, संरक्षित या निजी बनाने की भी कोशिश करता है।

alt text http://www.ucdetector.org/images/popup.png

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

+0

यह एक बहुत अच्छा और विस्तृत उत्तर है।पास्कल धन्यवाद – Lancelot

+0

@ लांसलोट आपका स्वागत है। सौभाग्य! –

1

मैंने कई अलग-अलग मेवेन मॉड्यूल में अप्रयुक्त कोड खोजने के लिए कोर टूल्स प्लगइन का उपयोग किया है। प्रत्येक परियोजना के लिए निर्माण पथ को ठीक से स्थापित किया जाना चाहिए ताकि ग्रहण जानता है कि परियोजनाओं के बीच निर्भरताएं हैं। यदि आप m2eclipse प्लगइन का उपयोग कर प्रोजेक्ट आयात करते हैं, तो यह इन्हें स्वचालित रूप से सेट कर देगा।

मुझे लगता है कि कोर टूल्स प्लगइन काम करने का तरीका यह है कि यह उस प्रक्रिया को स्वचालित करता है जो "कॉल पदानुक्रम" दृश्य करता है। यदि कोई कॉलर नहीं है तो एक विधि का चयन करें और "कॉल पदानुक्रम" (ctrl-alt-h) चलाएं, फिर कोर टूल्स को विधि को अनचाहे के रूप में चिह्नित करना चाहिए।

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