Максимальная цикломатическая сложность и методы рефакторинга

Какое рекомендуемое пороговое значение Cyclomatic Complexity для любой поддерживаемой Java-функции и на основе этого значения существует какой-либо конкретный метод рефакторинга?

1 ответ

Решение

Согласно Википедии, Томас МакКейб, изобретатель цикломатической сложности...

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

Таким образом, если ваш вопрос сформулирован в контексте исходной рекомендации автора, ответ заключается в том, что 10 - это максимально поддерживаемая функция, после которой функция должна быть реорганизована в более мелкие функции.

10 также является настройкой по умолчанию в механизмах правил качества кода, таких как PMD и Sonar.