LINUX.ORG.RU
ФорумTalks

Пых-пых и чистка Авгиевых конюшен


0

0

Вопрос к уважаемым членам сообщества, имеющим дело с данным грязным веществом.

Имеется ли в природе какой-нибудь аналитический струмент для пхп, определяющий, 1) какие функции каким куском кода используются, 2) какие файлы кем включаются, 3) определять неиспользуемые участки кода и 4) вообще вести подобную статистику?

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

Не могу вспомнить, чтобы натыкался на какой-нить phplint. Плохо смотрел?

Благодарен за информативные ответы заранее.

★★★★★

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

CrazyPit ★★★
()
Ответ на: комментарий от CrazyPit

В принципе, на coreutils, perl или python можно написать подобное. Только вот морочиться лень, спинной мозг чувствует, что кто-то такое уже делал. Но ключевые слова для гугла типа php code statistics, php refactoring не дают желаемого результата. :(

shimon ★★★★★
() автор топика
Ответ на: комментарий от anonymous

на c++ написано половина всех программ в мире, в чём смысл "чего-то подобного"?

theserg ★★★
()

1) grep 2) grep, про остальное не знаю, мне и с используемыми кусками кода мороки хватает, чтобы ещё неиспользуемые делать.

bugmaker ★★★★☆
()
Ответ на: комментарий от bugmaker

> 1) grep 2) grep

Знаешь ли, ответ на вопрос "используется ли этот код, если вот этот скрипт запустить" грепом одним не дашь :)

Естественно, варианты, когда инклюды и вызовы делаются динамически, не рассматриваем. Авгиевы конюхч, хозяйствовавшие до меня, вряд ли в курсе, что так даже можно...

...И почти что потому там такая куча дерьма, какая есть.

shimon ★★★★★
() автор топика
Ответ на: комментарий от shimon

Это очень умная вещь должна быть, чтобы такое с 100% вероятностью
определило. Например, представь сложность алгоритма, который бы
определял, используется ли somecode () в случае, если глобальная
переменная Z, функция такого вида

void f () {
  if (Z) somecode ();
}

а по всему проекту разбросано типа

if (!Z) f ();

и никаких больше. А ведь это один из самых простейших случяев.

Так что, grep и less твои други, как бы те нихватало чего получше...

bugmaker ★★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.