ความซับซ้อนของไซโคลมาติก

Cyclomatic Complexity คืออะไร?

Cyclomatic complexity คือการวัดความซับซ้อนของซอร์สโค้ดที่มีความสัมพันธ์กับข้อผิดพลาดในการเข้ารหัสจำนวนมาก คำนวณโดยการพัฒนา Control Flow Graph ของโค้ดที่วัดจำนวนพา ธ ที่เป็นอิสระเชิงเส้นผ่านโมดูลโปรแกรม

ลดความซับซ้อนของวงจรของโปรแกรมลดความเสี่ยงในการแก้ไขและเข้าใจง่ายขึ้น สามารถแสดงโดยใช้สูตรด้านล่าง:

Cyclomatic complexity = E - N + 2*P 
where,
  E = number of edges in the flow graph.
  N = number of nodes in the flow graph.
  P = number of nodes that have exit points

ตัวอย่าง:

IF A = 10 THEN 
 IF B > C THEN 
   A = B
 ELSE
   A = C
 ENDIF
ENDIF
Print A
Print B
Print C

FlowGraph:

ความซับซ้อนของไซโคลมาติกคำนวณโดยใช้แผนภาพการไหลของการควบคุมด้านบนที่แสดงเจ็ดโหนด (รูปร่าง) และแปดขอบ (เส้น) ดังนั้นความซับซ้อนของไซโคลมาติกคือ 8 - 7 + 2 = 3