Я только что измерил большой кусок кода PHP (1153 строки), используя PHPMD ( http://phpmd.org/ ), и он говорит мне, что код NPath имеет сложность 16244818757303403077832757824.
Это выглядит как сумасшедшая цифра для меня, предполагая, что, возможно, PHPMD каким-то образом сломался. Возможно ли, чтобы кусок кода, написанный людьми, имел такую высокую сложность NPath? Цикломатическая сложность 351.
Две, возможно, важные детали -
Это был процедурный код, смешанный с HTML, и PHPMD будет измерять только объектно-ориентированный код. Чтобы обойти это, я обернул весь файл в классе одной функцией - это является показателем того, как он используется.
Файл состоит из серии вложенных операторов switch, и внутри них много операторов if..else - так что это, безусловно, довольно сложно.
редактировать
Я хочу уточнить, что я не подвергаю сомнению, лжет ли мне PHPMD. Я знаю, что код - ужасный беспорядок, я просто задаюсь вопросом, возможно ли, чтобы любой код был действительно таким плохим. Кажется, что ответ да, это очень возможно.
WP_Query::get_posts()
имел сложность NPath 1,435 квиндециллиона в 2013 году. Это еще хуже в наши дни…