Właśnie zmierzyłem dużą część kodu PHP (1153 wierszy) przy użyciu PHPMD ( http://phpmd.org/ ) i mówi mi, że kod ma złożoność NPath 16244818757303403077832757824.
Dla mnie wygląda to na szalenie dużą liczbę, co sugeruje, że PHPMD w jakiś sposób się zepsuło. Czy to możliwe, że fragment kodu napisany przez ludzi ma tak wysoką złożoność NPath? Cyklomatyczna złożoność wynosi 351.
Dwa prawdopodobnie ważne szczegóły -
Był to kod proceduralny, zmieszany z HTML, a PHPMD mierzy tylko kod obiektowy. Aby obejść ten problem, zapakowałem cały plik w klasę za pomocą jednej funkcji - jest to reprezentatywne dla sposobu jego użycia.
Plik składa się z szeregu zagnieżdżonych instrukcji switch, a wewnątrz nich znajduje się wiele instrukcji if..else - więc jest to z pewnością dość skomplikowane.
Edytować
Chcę wyjaśnić, że nie wątpię, czy PHPMD mnie okłamuje. Wiem, że kod jest okropnym bałaganem, po prostu zastanawiam się, czy jest możliwe, aby jakikolwiek kod był tak zły. Wygląda na to, że odpowiedź brzmi tak, to bardzo możliwe.
WP_Query::get_posts()
miał złożoność NPath 1,435 Quindecillion w 2013 roku. Obecnie jest jeszcze gorzej…