Метрики на ваших снимках экрана показывают цикломатическую сложность (CC) вашего кода на разных уровнях детализации. Первый снимок экрана (с первой вкладкой под названием Метрики метода) является наиболее подробным и показывает цикломатическую сложность для каждого метода в проекте. Второй снимок экрана делает то же самое на уровне класса и так далее до самой правой вкладки, которая показывает показатели для всего проекта.
Средние и итоговые значения на четырех самых правых вкладках вытекают из значений на вкладке Метрики метода, так что сосредоточьтесь на этом.
В качестве отправной точки наибольший интерес представляют числа в столбце v(G) на первом снимке экрана, показывающие CC для каждого метода в виде целочисленного значения. документация PMD предлагает следующие рекомендации для определения того, являются ли эти числа являются «хорошими»/«плохими»:
Сложность определяется количеством точек принятия решения в методе плюс одна для записи метода. Точками принятия решения являются «если», «пока», «для» и «метки случая». Как правило, 1–4 — низкая сложность, 5–7 — средняя сложность, 8–10 — высокая сложность, а 11+ — очень высокая сложность.
Методы с высокими значениями CC слабо соответствуют методам, которые на первый взгляд могут показаться сложными, и наоборот. Например, геттеры/установщики компонентов должны иметь v(G), равное 1, поскольку они мало что делают.
Все числа на первом снимке экрана ниже 6, так что особо не о чем беспокоиться. Однако, если метод имеет высокое значение для v(G), вам следует просмотреть два значения слева от него, ev(G) и iv(G). Например, если у вас есть метод со значением iv(G), равным 1, и значением ev(G), равным 15, этот метод не будет вызывать другие методы, но будет иметь некоторую сложную внутреннюю логику (возможно, вложенные циклы), которую, возможно, стоит реорганизовать.
Очевидно, что это гораздо больше, но следить за столбцом v(G) на вкладке Method metrics — это, пожалуй, самое важное, что нужно сделать.
person
skomisa
schedule
02.02.2018