2446
GB
What is 'cyclomatic complexity', how is it calculated, and what threshold typically indicates need for refactoring?
IN
'साइक्लोमैटिक जटिलता' क्या है, इसकी गणना कैसे की जाती है, और कौन सी सीमा आम तौर पर रिफैक्टरिंग की आवश्यकता को इंगित करती है?
A
Ratio of comments to code lines; above 0.5 needs refactoring
कोड पंक्तियों पर टिप्पणियों का अनुपात; 0.5 से ऊपर रिफैक्टरिंग की आवश्यकता है
B
McCabe's metric counting linearly independent paths: M = E - N + 2P; complexity above 10 indicates code difficult to test and maintain — should be refactored into smaller units
मैककेब की मीट्रिक गणना रैखिक रूप से स्वतंत्र पथ: एम = ई - एन + 2पी; 10 से ऊपर की जटिलता इंगित करती है कि कोड का परीक्षण और रखरखाव करना मुश्किल है - इसे छोटी इकाइयों में दोबारा तैयार किया जाना चाहिए
C
Measures total number of variables declared in a function
किसी फ़ंक्शन में घोषित वेरिएबल्स की कुल संख्या को मापता है
D
Above 100 requires refactoring; below 100 always acceptable
100 से ऊपर रिफैक्टरिंग की आवश्यकता होती है; 100 से नीचे सदैव स्वीकार्य
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English)
McCabe's cyclomatic complexity: M = E (edges) - N (nodes) + 2P (components). Practically equals 1 plus number of decision points. McCabe recommended M ≤ 10; above 10, code becomes too complex to reliably test all paths. Studies show strong correlation with defect density.
व्याख्या (हिन्दी)
मैककेबे की चक्रीय जटिलता: एम = ई (किनारे) - एन (नोड्स) + 2पी (घटक)। व्यावहारिक रूप से निर्णय बिंदुओं की संख्या 1 से अधिक के बराबर होती है। मैककेबे ने एम ≤ 10 की सिफारिश की; 10 से ऊपर, सभी पथों का विश्वसनीय परीक्षण करने के लिए कोड बहुत जटिल हो जाता है। अध्ययन दोष घनत्व के साथ मजबूत संबंध दिखाते हैं।