सारी किताबों कोड मैट्रिक्स के लिखा गया है, तो आप भाग्यशाली है कि आप एक अधिक विशिष्ट प्रश्न पूछ रहे हैं कर रहे हैं। जावा चक्रीय जटिलता के लिए, आप 5 या 6 की चक्रवात जटिलता से अधिक विधियों की संख्या पा सकते हैं (आप यहां नंबर चुनते हैं)। यदि यह संख्या आपकी विधियों की एक निश्चित प्रतिशत से अधिक है, तो समग्र चक्रवात जटिलता खराब है। प्रतिशत के लिए एक अच्छी संख्या पूरी तरह से परियोजना के आकार पर निर्भर करती है, इसलिए हो सकता है कि केवल विधियों की संख्या से विभाजित होने के बजाय, आप विभाजन में विधि गणना पर कम वजन डाल सकते हैं जिससे इसे बड़ी संख्या में धीरे-धीरे बढ़ाना पड़ता है, जैसे कि प्रोजेक्ट बढ़ने के साथ इसे और अधिक स्थिर बनाने के लिए एक वर्ग रूट या लॉगरिदम।
हो सकता है कि कुछ इस तरह:
public double evaluateCyclomaticComplexity(List<MethodStat> methodStats) {
int bad = 0;
for (MethodStat methodStat : methodStats)
if (methodStat.getCyclomaticComplexity() >= 6)
bad++;
double denominator = Math.sqrt(methodStats.size());
return bad * 100.0/denominator;
}
छोटी संख्या यहां लौट आए, बेहतर। वास्तव में खराब प्रोजेक्ट, यह 100 से अधिक कुछ वापस कर देगा।
denominator फ़ंक्शन का प्रतिनिधित्व करना चाहिए कि कोड बेस बढ़ने के साथ जटिलता बढ़ने के साथ आप कितनी तेजी से ठीक हैं। आम तौर पर, आप चाहते हैं कि सीसी प्रति कार्य कम हो क्योंकि कोड बढ़ता जा रहा है ताकि यह बनाए रखा जा सके, इसलिए परियोजना आकार बढ़ने के साथ धीमी गति से बढ़ने वाला कुछ सबसे अच्छा होगा।
इसका परीक्षण करें, इसे ट्वीक करें, आदि। आखिरकार, कोड मेट्रिक्स को सही होने के लिए मुश्किल है, जिसे मैं ओपन सोर्स सॉफ़्टवेयर पर कई जर्नल पेपर पढ़ने के बाद प्रमाणित कर सकता हूं जो "रखरखाव" का प्रतिनिधित्व करने के लिए संख्याओं का उपयोग करते हैं। यदि हम उस पर पर्याप्त समय बिताते हैं तो हम यहां कुछ भी कर सकते हैं, तो काफी सुधार किया जा सकता है।