2012-04-25 21 views
10

सोनार में, एक विशेष जावा वर्ग के लिए, मैं देख रहा हूँ:अंतर

Complexity:  830 

Complexity /method:  8,1 

आप उन दो मीट्रिक के बीच का अंतर कैसे समझा सकता है?

कक्षा जटिलता "जटिलता" है?

कक्षा में अधिकतम जटिलता क्या होनी चाहिए? मुझे पता है कि विधि जटिलता के लिए विधियों को 10 से कम होना चाहिए, लेकिन अधिकतम वर्ग जटिलता संख्या क्या है जिसे कक्षा को जटिल नहीं माना जाना चाहिए?

धन्यवाद।

संपादित

मैं भी फाइल में cyclomatic-जटिलता नियम के उल्लंघन को देखो।

"ला complexité cyclomatique डे ला classe est de 28 alors कुए le अधिकतम autorisé est de 10.":

तरीकों की एक संख्या के लिए, सोनार अलग जटिलता संख्या (में फ्रेंच) के साथ कहते हैं

अंग्रेजी:

"वर्ग cyclomatic जटिलता 28 है, लेकिन अधिकतम स्वीकृत 10 है।"

मुझे समझ में नहीं आता कि यह "वर्ग चक्रवात जटिलता" क्यों कहता है क्योंकि यह "विधि चक्रवात जटिलता" के रूप में प्रतीत होता है।

इसके अलावा, प्रश्न में कक्षा औसत जटिलता/विधि द्वारा क्रमबद्ध सबसे जटिल वर्ग के शीर्ष पर दिखाई नहीं देती है, क्योंकि सोनार का कहना है कि इसमें केवल 8,1 औसत विधि जटिलता है।

उत्तर

6

सोनार में मिले मीट्रिक के अर्थ के बारे में और जानने के लिए आप हमारी "मीट्रिक परिभाषाएं" विकी पेज (और अधिक विशेष रूप से "Complexity" section पर) देख सकते हैं।

  • "जटिलता" एक संसाधन की कुल जटिलता है (एक फ़ाइल के लिए => हर वर्ग की जटिलताओं को फाइल में परिभाषित का योग)
  • "जटिलता/विधि" "जटिलता" से विभाजित है फ़ाइल
  • ... और अन्य मेट्रिक्स के लिए उपलब्ध विधियों की संख्या।
+1

आपके उत्तर के लिए धन्यवाद। शायद यह मैं हूं लेकिन यह स्पष्ट नहीं था कि "जटिलता" का अर्थ है "विधियों की जटिलताओं का योग", लेकिन अब यह वास्तव में स्पष्ट प्रतीत होता है। विकी पेज यह नहीं बताता है कि यह सभी विधियों की जटिलताओं का योग है। –

+0

@ जेरोम: आधिकारिक तौर पर, कक्षा के लिए मैककेबे की जटिलताओं का योग डब्ल्यूएमसी (कक्षा प्रति भारित तरीके) कहा जाता है जैसा कि यहां बताया गया है [https://sonarqube.sourcemeter.com/plugins/resource/491408?page=sm-help #Complexity)। –

+0

प्रस्तुत लिंक जटिलता मेट्रिक्स के बीच अंतर नहीं करता है जो सोनार हैंडल: CoreMetrics.FILE_COMPLEXITY और CoreMetrics.COMPLEXITY की तरह – XtianGIS