มีเมตริกที่คล้ายคลึงกับการวัดความซับซ้อนของ McCabeในการวัดว่าการทำกิจวัตรประจำวันมีความเหนียวหรือไม่และวิธีการที่คู่กันอย่างหลวม ๆ (หรือแน่นหนา) คือรหัสอื่นในฐานรหัสเดียวกันหรือไม่?
มีเมตริกที่คล้ายคลึงกับการวัดความซับซ้อนของ McCabeในการวัดว่าการทำกิจวัตรประจำวันมีความเหนียวหรือไม่และวิธีการที่คู่กันอย่างหลวม ๆ (หรือแน่นหนา) คือรหัสอื่นในฐานรหัสเดียวกันหรือไม่?
คำตอบ:
ฉันคิดว่าตัวชี้วัดที่คุณกำลังมองหาคือ LCOM4 แม้ว่ามันจะใช้กับคลาสได้มากขึ้น
โซนาร์อธิบายได้ดีที่นี่ :
... ตัวชี้วัด: LCOM4 (วิธีการขาดการเชื่อมโยงกัน) เพื่อวัดระดับชั้นเหนียว การตีความตัวชี้วัดนี้ค่อนข้างง่ายเนื่องจากค่า 1 หมายถึงคลาสมีความรับผิดชอบเพียงหนึ่งเดียว (ดี) และค่า X หมายถึงคลาสนั้นอาจมีความรับผิดชอบ X (ไม่ดี) และควรได้รับการแบ่ง / แยกใหม่
ไม่มีเวทมนตร์ใด ๆ ที่นี่มีเพียงสามัญสำนึก ลองมาดูตัวอย่างง่ายๆกับ Class Driver คลาสนี้มีสองฟิลด์: รถยนต์และสมองและห้าวิธี: drive (), goTo (), stop (), getAngry () และ drinkCoffee () นี่คือกราฟการพึ่งพาระหว่างส่วนประกอบเหล่านั้น มีองค์ประกอบที่เกี่ยวข้องสามบล็อกดังนั้น LCOM4 = 3 ดังนั้นชั้นดูเหมือนจะมีความรับผิดชอบที่แตกต่างกันสามและแบ่งหลักการความรับผิดชอบเดียว
...
มันเป็นเครื่องมือที่ยอดเยี่ยมถ้าคุณสามารถใช้มันได้ :)
brain.setAngry(driver)
? car.applyBreaks(driver)
?
ความไม่เสถียรได้รับการสนับสนุนในเครื่องมือการวัดรหัสต่างๆ