2013-09-23 8 views
7

मैंने सोनार के साथ अपना साहस शुरू किया;)अनावश्यक लोकल से पहले - यह बुरा क्यों है?

सोनार के डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ सोनार में पीएमडी अनावश्यक लॉक्ल से पहले रिटर्न त्रुटि सेट है।

List<Todo> filtered = em.createQuery(query).getResultList(); 
    return filtered; 

इसका मतलब है कि मुझे इस कोड को एक पंक्ति में ऊपर बदलना चाहिए।

यह मेरे लिए वास्तव में दिलचस्प है क्योंकि मैं अपने सहयोगियों को रिटर्न से पहले इस "अनावश्यक" स्थानीय बनाने की सलाह देता हूं।

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

इसके अलावा मुझे विश्वास है कि इसका तरीकों में रिटर्न पॉइंट को कम करने पर सकारात्मक प्रभाव पड़ता है।

मेरा प्रश्न है: क्या कुछ प्रकार के स्पष्टीकरण/चर्चाएं हैं जैसे चेकस्टाइल, पीएमडी, फाइंडबग इत्यादि जैसी परियोजनाओं में त्रुटियों को त्रुटियों के रूप में स्वीकार किया गया था?

+1

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

+0

यह एक अच्छा संबंधित प्रश्न है: http://stackoverflow.com/questions/31733811/local-variables-before-return-statements-does-it-matter/31734226#31734226 –

उत्तर

0

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

इसे खराब अभ्यास के रूप में क्यों माना जाता है?

आप जरूरी नहीं है कि आप एक चर के संदर्भ को जोड़ दें।

यह कचरा कलेक्टर पर वर्कलोड बढ़ाता है।

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