Цикломатическая сложность - Delphi API
-
11-10-2019 - |
Вопрос
Я ищу API цикломатической сложности в Delphi (2010). Мне нужно создать программу, которая будет анализировать исходный код и сообщить о цикломатической сложности всех методов во всех классах (так же, как и Sourcemonitor).
Я не могу использовать другие программы, мне действительно нужно построить его.
Кто -нибудь знает API для Delphi 2010, что делает это?
Решение
Вам понадобится языковой анализатор, из которого вы можете генерировать график потока управления. Тогда вам нужно рассчитать CC, используя это формула.
Я не знаю библиотеки, которая бы сделает это для вас.
Вы можете использовать Бесплатный Паскаль Источник для генерации графика потока управления (его общий метод, используемый в компиляторах для устранения недоступного кода).
К сожалению, Delphi не отправил с полным формальным определением (грамматикой BNF) языка в своей документации с Delphi 6, я полагаю. (Даже тогда это было не совсем точно), поэтому все сторонние анализаторы стреляют в темноте.