Каким должен быть диапазон цикломатической сложности для JAVA

Я хочу знать, что должно быть стандартным диапазоном цикломатической сложности?

И зависит ли это от языка или платформы или это общее для всех?

Я использую State of Flow - EclipseMetrics, который является плагином Eclipse, вычисляет различные метрики для вашего кода во время циклов сборки и предупреждает вас через представление "Проблемы" о "нарушениях диапазона" для каждой метрики.

4 ответа

Решение

Я ссылался на эту ссылку - http://www.javaworld.com/community/node/1005

Cyclocmatic complexity = Number of decision points + 1

Точки принятия решения могут быть вашими условными утверждениями, такими как if, if… else, switch, for loop, while loop и т. Д.

В следующей таблице описывается тип приложения.

Цикломатическая Сложность лежит 1 - 10  Считается нормальным приложением

Цикломатическая Сложность лежит 11 - 20 application Умеренное применение

Цикломатическая Сложность лежит 21 - 50Рискованное применение

Цикломатическая сложность лежит более 50Нестабильное применение

Как можно ниже, как и любой другой код. Обычно рекомендуется поддерживать цикломатическую сложность ниже 5.

На самом деле это легче сказать, чем сделать. Удачи!

Этот вопрос не зависит от вашего окружения. Неважно, если вы разрабатываете для Android или Java EE.

Сложность цикломата только помогает вам поддерживать ваш код в обслуживании. У компьютера нет проблем с высокой сложностью, но вы не поймете свой код, если сложность слишком высокая.

Как отметил Йорис, значение 5 - это предел, но на самом деле его иногда трудно достичь.

Цикломатическая сложность не зависит от платформы или языка. (см. определение цикломатической сложности)

Это также зависит от сложности задачи, которую вы должны решить. сложность вашего кода не может быть ниже сложности задачи, в противном случае код упрощается и что-то упускается.

Часто вы можете уменьшить циклическую сложность определенного метода путем рефакторинга.

Другие вопросы по тегам