Я недавно видел описания вариантов моделей цикломатической сложности, но не могу найти ни одного, который ссылается на публикацию в качестве источника их (да, я пробовал обычных подозреваемых, включая Google Scholar.) См. Например https://www.aivosto.com/project/help/pm-complexity.html
С учетом блок-схемы модуля / метода возможны следующие варианты:
- CC1: исходная модель МакКейба, обычно число ветвей плюс 1.
- CC2: каждый логическийВыражение в составном условии считается ветвью.Например,
(!foo||bar||oof)
считается за 3 ветви. - CC3: То же, что и CC1, но выражения case или switch учитываются как 1 ветвь каждое.Случаи в выражениях не учитываются.
- CC4: То же, что и CC1, но операторы
if
с одинаковыми условиями учитываются только один раз.
Мой вопрос: являются ли эти модели устнымитрадиция или есть человек / публикация, которая впервые сформулировала их?