Агуулгын хүснэгт:
Видео: Цикломат нарийн төвөгтэй байдлыг хэрхэн тооцдог вэ?
2024 Зохиолч: Lynn Donovan | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2023-12-15 23:50
Цикломат нарийн төвөгтэй байдал эх код юм нарийн төвөгтэй байдал хэд хэдэн кодчиллын алдаатай уялдаж буй хэмжилт. Энэ бол тооцоолсон Програмын модулийн шугаман бие даасан замын тоог хэмждэг кодын хяналтын урсгалын графикийг боловсруулах замаар.
Үүнээс гадна, McCabe-ийн цикломатик нарийн төвөгтэй байдлыг хэрхэн тооцдог вэ?
Цикломат нарийн төвөгтэй байдлыг хэрхэн тооцоолох вэ (МкКейб)
- P = урсгалын графикийн салгагдсан хэсгүүдийн тоо (жишээ нь дуудлагын програм болон дэд программ)
- E = ирмэгийн тоо (хяналтын шилжүүлэг)
- N = зангилааны тоо (зөвхөн нэг дамжуулалтыг агуулсан мэдэгдлийн дараалсан бүлэг)
Мөн цикломатик нарийн төвөгтэй байдал гэж юу вэ, яагаад чухал вэ? Туршилт болон засвар үйлчилгээ нь чухал Учир нь тэдгээр нь бүтээгдэхүүний хөгжлийн амьдралын мөчлөгийн ихэнх цагийг эзэлдэг. Цикломат нарийн төвөгтэй байдал хэмжихэд ихэвчлэн ашиглагддаг нарийн төвөгтэй байдал ангийн эсвэл аргын түвшинд.
Нэмж дурдахад кодын нарийн төвөгтэй байдлыг хэрхэн тооцдог вэ?
1976 онд Томас МакКэйб Снр тооцоолох хэмжүүрийг санал болгосон. кодын нарийн төвөгтэй байдал , Cyclomatic гэж нэрлэдэг Нарийн төвөгтэй байдал . Үүнийг дараах байдлаар тодорхойлно: Тоон үзүүлэлт хэмжих програмын эх үүсвэрээр дамжих шугаман бие даасан замын тоо код … программын хяналтын урсгалын графикийг ашиглан тооцоолсон.
Цикломат нарийн төвөгтэй байдлын сайн оноо гэж юу вэ?
Ихэнх хэвшлийн хувьд a цикломатик нарийн төвөгтэй байдал 4-өөс доош гэж үзнэ сайн ; а цикломатик нарийн төвөгтэй байдал 5-аас 7-ны хооронд дундаж гэж тооцогддог нарийн төвөгтэй байдал , 8-аас 10-ын хооронд өндөр байна нарийн төвөгтэй байдал , түүнээс дээш нь туйлын нарийн төвөгтэй байдал.
Зөвлөмж болгож буй:
Примийн алгоритмын цаг хугацааны нарийн төвөгтэй байдал хэд вэ?
Примийн алгоритмын цагийн нарийн төвөгтэй байдал нь O ((V + E) l o g V) учир орой бүрийг тэргүүлэх эгнээнд зөвхөн нэг удаа оруулж, тэргүүлэх эгнээнд оруулахад логарифмын хугацаа зарцуулдаг
Аль эрэмбэлэх алгоритм нь хамгийн сайн асимптот нарийн төвөгтэй байдаг вэ?
Нуруулдан эрэмбэлэх
Цикломат тоог хэрхэн тооцдог вэ?
Цикломат нарийн төвөгтэй байдал нь хэд хэдэн кодчиллын алдаатай холбоотой байдаг эх кодын нарийн төвөгтэй байдлын хэмжилт юм. Програмын модулийн шугаман бие даасан замын тоог хэмждэг кодын хяналтын урсгалын графикийг боловсруулах замаар тооцоолно
Нэгтгэх нарийн төвөгтэй байдлыг хэрхэн тооцдог вэ?
2 хариулт. A[L,R] зангилааг хоёр зангилаа болгон хуваахад R&хасах;L+1 хугацаа шаардагдах ба дараа нь A[L,M] болон A[M+1,R] хоёр хүүхэд зангилааг нэгтгэхэд дахин A[R&хасах;L шаардлагатай болно. +1] цаг. Тиймээс зангилаа бүрийн хувьд алгоритмын гүйцэтгэдэг үйлдлийн тоо нь тухайн зангилаатай харгалзах массивын хэмжээнээс хоёр дахин их хэмжээтэй тэнцүү байна
Сансрын нарийн төвөгтэй байдлыг хэрхэн тооцоолох вэ?
Туслах зай: оролтын хэмжээтэй холбоотой асуудлыг шийдвэрлэхийн тулд таны алгоритмаар хуваарилсан түр зуурын зай (оролтын хэмжээг тооцохгүй). Сансрын нарийн төвөгтэй байдал нь туслах орон зай болон оролтод ашигладаг орон зайг хоёуланг нь агуулдаг. Орон зайн нарийн төвөгтэй байдал = Оролтын хэмжээ + Туслах зай