2014-07-10 7 views
6

इस पंक्ति में:Npath जटिलता

public Map getAll(BusinessTargetPK pkBusinessTargetId) throws Exception 

मैं इस त्रुटि हो रही है:

NPath Complexity is 32,768 (max allowed is 200)

और इस पंक्ति में:

The method getAll() has an NPath complexity of 2048

:

public Map getAll(Long RLE_ROLE_ID ) throws Exception { 

मैं इस त्रुटि मिलती है

मैं पूरी तरह से अनजान हूं कि एनपीएथ कॉम्प्लेक्सिटी और इसका क्या अर्थ है।

क्या कोई सलाह दे सकता है कि इस प्रकार की त्रुटि से कैसे बचें?

+0

"विधि की एनपीएथ जटिलता उस विधि के माध्यम से विश्वकोश निष्पादन पथ की संख्या है।" –

+0

http://codingswag.ghost.io/cyclomatic-and-npath-complexity-explained/ – Mirco

+0

@ वॉल्वरिन 789 आपने हाल ही में सोनार के एक संदेश के बारे में एक और सवाल पोस्ट किया है। इन त्रुटि संदेशों के बारे में एक दस्तावेज़ीकरण होना चाहिए - इसे अपने विकास पर्यावरण की स्थापना के लिए जिम्मेदार व्यक्ति से प्राप्त करें! – laune

उत्तर

12

यह लिंक: https://modess.io/npath-complexity-cyclomatic-complexity-explained/

यह बताते हैं बहुत अच्छी तरह से के रूप में: आप में से (नेस्टेड) ​​एक बहुत कुछ के साथ लंबे समय तक काम करता है से बचना चाहिए

The NPath complexity of a method is the number of acyclic execution paths through that method.

इसका मतलब यह है कि अगर/किसी और बयान।

तो मेरी सलाह होगा:

  1. छोटे में अपने फ़ंक्शन विभाजित
  2. बेकार हटा दें, तो/बाकी-बयानों जहां संभव
+4

किसी विधि की एनपीएथ जटिलता उस विधि या के माध्यम से विश्वकोश निष्पादन पथ की संख्या है सरल व्याख्या यह है कि फ़ंक्शन में आपके कोड के प्रवाह में कितने "पथ" हैं। – Wolverine789

1

यह एक पुरानी धागा है और Wolverine789 शायद पता कर लिया है अब तक जवाब दें, लेकिन उन लोगों के लिए जो अभी भी Google खोज परिणामों में यह धागा पा रहे हैं, मुझे निकलस मोडेस द्वारा त्रुटि का निम्नलिखित विवरण मिला:

https://modess.io/npath-complexity-cyclomatic-complexity-explained/

+2

लिंक अनुपलब्ध हो सकते हैं। कृपया लिंक में क्या लिखा है इसका वर्णन करें – sqlab