मेरे पास एक VS.NET 2008 प्रोजेक्ट है। क्या उन वर्गों की जांच करना संभव है जिनका उपयोग परियोजना में किसी भी तरह से नहीं किया जाता है? FXcop के साथ मैं अप्रयुक्त चर और अप्रयुक्त कोड पा सकता हूं, लेकिन अप्रयुक्त कक्षाओं में नहीं।किसी .net प्रोजेक्ट में अप्रयुक्त कक्षाएं खोजें
उत्तर
उपकरण NDepend मदद कर सकते हैं एक .NET कोड बेस में अप्रयुक्त कोड को खोजने में अधिसूचित। अस्वीकरण: मैं इस उपकरण के डेवलपर में से एक हूं।
थोड़ा विस्तार करने के लिए, NDepend Code Rule over LINQ Query (CQLinq) लिखने का प्रस्ताव करता है।
// <Name>Dead Methods</Name>
warnif count > 0
from m in Application.Methods where !m.MethodsCallingMe.Any()
select m
लेकिन इस नियम: लगभग 200 default code rules प्रस्ताव है, उनमें से 3 अप्रयुक्त विधि का पता लगाने के उदाहरण की तरह दिखता है के लिए अप्रयुक्त/मृत कोड का पता लगाने
मूल रूप से इस तरह के एक नियम के लिए समर्पित किया जा रहा बेवकूफ है और मामूली झूठी सकारात्मक वापसी करेगा। कई स्थितियों में, जहां एक विधि कभी नहीं कहा जाता है अभी तक कर रहे हैं यह अप्रयुक्त (प्रवेश बिंदु, वर्ग निर्माता, finaliser ...) यह है नहीं है यही कारण है कि 3 डिफ़ॉल्ट नियम हैं और अधिक सविस्तार:
- Potentially dead Types (इसलिए अप्रयुक्त वर्ग का पता लगाने के , struct, इंटरफ़ेस, प्रतिनिधि ...)
- Potentially dead Methods
- Potentially dead Fields
NDepend दृश्य स्टूडियो में एकीकृत है, इसलिए इन नियमों checked/browsed/edited right inside the IDE हो सकता है। उपकरण को आपकी सीआई प्रक्रिया में भी एकीकृत किया जा सकता है और यह reports का निर्माण कर सकता है जो नियमों का उल्लंघन करेगा और अपराधी कोड तत्व दिखाएगा।
यदि आप इन नियमों के स्रोत कोड की ओर इन 3 लिंक पर क्लिक करते हैं, तो आप देखेंगे कि प्रकार और विधियों से संबंधित कुछ जटिल हैं। ऐसा इसलिए है क्योंकि वे न केवल उपयोग किए गए प्रकारों और विधियों का पता लगाते हैं, बल्कि अप्रयुक्त मृत प्रकारों और विधियों (रिकर्सिव) द्वारा केवल का उपयोग किए जाने वाले प्रकार और विधियों का भी पता लगाते हैं।
यह स्थिर विश्लेषणसंभावित नियम नामों में है, इसलिए उपसर्ग। यदि प्रतिबिंब के माध्यम से केवल का उपयोग किया जाता है, तो ये नियम इसे अप्रयुक्त के रूप में मान सकते हैं जो मामला नहीं है।
इन 3 नियमों का उपयोग करने के अलावा, मैं परीक्षण द्वारा कोड कवरेज को मापने और पूर्ण कवरेज के लिए प्रयास करने की सलाह दूंगा। अक्सर, आप उस कोड को देखेंगे जो परीक्षण द्वारा कवर नहीं किया जा सकता है, वास्तव में अप्रयुक्त/मृत कोड है जिसे सुरक्षित रूप से त्याग दिया जा सकता है। यह जटिल एल्गोरिदम में विशेष रूप से उपयोगी है जहां यह स्पष्ट नहीं है कि कोड की शाखा पहुंच योग्य है या नहीं।
Resharper (समाधान चौड़ा पर जाँच के साथ) स्वचालित रूप से आप अप्रयुक्त वर्गों की अपनी परियोजना & समाधान
- 1. किसी वेब ऐप में अप्रयुक्त सीएसएस नियम कैसे खोजें?
- 2. अप्रयुक्त जावास्क्रिप्ट कार्यों को खोजें?
- 3. विम में अप्रयुक्त नियंत्रण कुंजी कैसे खोजें?
- 4. एक वेब प्रोजेक्ट में अप्रयुक्त सीएसएस नियम और जेएस स्क्रिप्ट खोजें?
- 5. Resharper- सभी अप्रयुक्त वर्गों को खोजें
- 6. IntelliJ का उपयोग कर अप्रयुक्त विधियों को कैसे खोजें?
- 7. .NET प्रोजेक्ट
- 8. जावा ग्रहण प्रोजेक्ट
- 9. .NET प्रतिबिंब: प्रयुक्त प्रकार खोजें
- 10. जावा प्रोजेक्ट में अप्रयुक्त कक्षा को कैसे हटाया जाए?
- 11. एक .NET प्रोजेक्ट
- 12. वीएस -2010: .NET प्रोजेक्ट
- 13. एक .NET प्रोजेक्ट
- 14. .NET Framework - संभावित मेमोरी-लीकी कक्षाएं?
- 15. .NET: मेरी प्रोजेक्ट
- 16. एक बढ़ती .NET प्रोजेक्ट
- 17. .NET (C#) प्रोजेक्ट
- 18. प्रोजेक्ट फ़ाइलों को एक .NET प्रोजेक्ट
- 19. .NET- आधारित सेटअप प्रोजेक्ट
- 20. किसी अन्य प्रोजेक्ट में मेरे प्रोजेक्ट में एक फॉर्म जोड़ें
- 21. आईओएस प्रोजेक्ट में आईओएस 4 केवल कोड कैसे खोजें
- 22. मैं अपनी वेबसाइट प्रोजेक्ट से अप्रयुक्त सीएसएस कक्षाओं को कैसे हटा सकता हूं?
- 23. एक .NET समाधान
- 24. एक .net वेब अनुप्रयोग प्रोजेक्ट में कस्टम नियंत्रण
- 25. वीएस -2010 समाधान में प्रोजेक्ट के सभी संदर्भ खोजें
- 26. किसी मौजूदा Django प्रोजेक्ट
- 27. सभी अप्रयुक्त कोड
- 28. किसी अन्य प्रोजेक्ट (.exe)
- 29. विजुअल स्टूडियो 2008/सी #: किसी प्रोजेक्ट में मृत कोड कैसे ढूंढें?
- 30. .NET संस्करण उपयोग आंकड़े कहां खोजें?
कक्षाओं को हटाने पर सावधान रहें। यह अभी भी प्रीप्रोसेसर के पीछे कोड द्वारा उपयोग किया जा सकता है या वर्तमान में लोड नहीं होने वाली परियोजना द्वारा उपयोग किया जा सकता है। – Carra