Максимальная цикломатическая сложность и методы рефакторинга
Какое рекомендуемое пороговое значение Cyclomatic Complexity для любой поддерживаемой Java-функции и на основе этого значения существует какой-либо конкретный метод рефакторинга?
1 ответ
Согласно Википедии, Томас МакКейб, изобретатель цикломатической сложности...
... рекомендуется, чтобы программисты считали сложность модулей, которые они разрабатывают, и разбивали их на более мелкие модули всякий раз, когда цикломатическая сложность модуля превышала 10.
Таким образом, если ваш вопрос сформулирован в контексте исходной рекомендации автора, ответ заключается в том, что 10 - это максимально поддерживаемая функция, после которой функция должна быть реорганизована в более мелкие функции.
10 также является настройкой по умолчанию в механизмах правил качества кода, таких как PMD и Sonar.