क्या सामंजस्य और युग्मन के लिए मेट्रिक्स हैं?


34

क्या मैककेबे कॉम्प्लेक्सिटी माप के लिए एक मीट्रिक अनुरूप है कि एक दिनचर्या कितना सामंजस्यपूर्ण है और यह भी कि कैसे नियमित (या कसकर) युग्मित दिनचर्या समान कोड बेस में अन्य कोड के लिए है?


जवाबों:


29

मुझे लगता है कि आप जिस मीट्रिक की तलाश कर रहे हैं वह LCOM4 है, हालांकि यह कक्षाओं के लिए अधिक लागू होता है।

सोनार इसे यहाँ अच्छी तरह से समझाता है :

... मेट्रिक: LCOM4 (कोसेशन मेथड्स की कमी) को मापने के लिए कि कोएक्टिव क्लासेस कितने होते हैं। इस मीट्रिक की व्याख्या करना बहुत सरल है क्योंकि मूल्य 1 का मतलब है कि एक वर्ग की केवल एक ज़िम्मेदारी (अच्छी) है और मूल्य X का मतलब है कि एक वर्ग की शायद X ज़िम्मेदारियाँ (खराब) हैं और उसे फिर से सक्रिय / विभाजित किया जाना चाहिए।

यहां कोई जादू नहीं है, केवल सामान्य ज्ञान है। चलो क्लास चालक के साथ एक सरल उदाहरण लेते हैं। इस वर्ग के दो क्षेत्र हैं: कार और मस्तिष्क, और पाँच विधियाँ: ड्राइव (), goTo (), स्टॉप (), getAngry () और ड्रिंक कॉफ़ी ()। यहाँ उन घटकों के बीच निर्भरता ग्राफ है। संबंधित घटकों के तीन ब्लॉक हैं, इसलिए LCOM4 = 3, इसलिए कक्षा में तीन अलग-अलग ज़िम्मेदारियाँ हैं और एकल जिम्मेदारी दायित्व टूट जाता है। http://i.stack.imgur.com/2527G.png

...

यह एक महान उपकरण है, अगर आप इसका उपयोग कर सकते हैं। :)


@OnorioCatenacci कोई समस्या नहीं है। :)
ओलेक्सी

बस बहुत खराब वे मीट्रिक में गणना कैसे करते हैं, इसमें नहीं जाते हैं।
ओनोरियो कैटेनेशिएक

3
इसके साथ मदद मिल सकती है: aivosto.com/project/help/pm-oo-cohesion.html
ओलेक्सी

जिज्ञासा से बाहर, आप एकल जिम्मेदारी सिद्धांत का पालन करने के लिए उस आरेख को कैसे पुन: सक्रिय करेंगे? brain.setAngry(driver)? car.applyBreaks(driver)?
फिल

मुझे संदेह है कि कोड-आधारित सामंजस्य मैट्रिक्स वास्तव में इंटरफ़ेस स्तर सामंजस्य का संकेत हो सकता है, और यहां तक ​​कि खराब प्रोग्रामिंग को भी बढ़ावा दे सकता है: mortoray.com/2015/04/29/…
edA-qa mort-ora-y

16
  • प्रतिकूल युग्मन: जिम्मेदारियों की संख्या
  • समतुल्य युग्मन: आश्रितों की संख्या
  • अस्थिरता: कुल युग्मन के लिए अपवर्तक युग्मन का अनुपात (Afferent + Efferent)।

विभिन्न कोड मीट्रिक टूल में अस्थिरता का समर्थन किया जाता है।


धन्यवाद @ ब्रायन - ठीक उसी तरह की चीज जिसकी मुझे उम्मीद थी।
ओनोरियो कैटेनेशिया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.