Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
PHP-программерам, вопрос
Новая тема
Ответить
цитата
27/10/09 в 01:23
webboxxx
Несколько дней безрезультатно ищу такую софтину. Нечто вроде phpDocumentor, только чтобы не документацию генерило, а некий суммарный многостраничный отчет о php-проекте в наглядной форме: связи между объектами, список функций и классов, которые используют определенный класс/функцию, список файлов которые инклудят выбранный файл и т.п. штуки. Также хотелось бы, чтоб генерился список неиспользуемых файлов/классов/функций/переменных. Никто не видал чего-нибудь подобного?
цитата
27/10/09 в 03:16
Dr.Syshalt
Типа этого?
http://www.nwiresoftware.com/products/nwire-php
Цитата:
Также хотелось бы, чтоб генерился список неиспользуемых файлов/классов/функций/переменных
Такие вещи называются code coverage и они статическим анализом не покрываются - через unit-тесты делается. На нормальных языках (типа Java) это делается при помощи удобных средств (как встроенные в Intellij IDEA), на php - через обычное место, описанное, к примеру,
тут
цитата
27/10/09 в 04:23
webboxxx
классная штука. да, типа этого. а еще что-нибудь есть? мне бы все-таки stand-alone, т.к. ни эклипсом, ни зенд студией не пользуюсь.
все же мне не совсем понятно, почему нет простых средств для обнаружения неиспользуемых участков кода. если я правильно понимаю причину, то она кроется в том, что статический анализ не дает 100% гарантии правильности результата. но мне бы вполне подошел скрипт, который тупо показал бы файлы, которые нигде не подключены жестким инклудом, а также методы/функции/классы, которые не были вызваны/созданы
явным
образом. а я бы уже потом сам решил, что из этого списка удалять, а что нет. неужели нет такого?
цитата
27/10/09 в 04:40
Dr.Syshalt
webboxxx писал:
все же мне не совсем понятно, почему нет простых средств для обнаружения неиспользуемых участков кода.
Код:
class Class {
function method() {
}
}
class AnotherClass {
function method() {
}
}
func1() {
$obj = new Class();
func2($obj);
}
func2($anything) {
$anything->method();
}
Ну и как "простыми средствами" определить, метод какого класса вызывался?
цитата
27/10/09 в 12:41
webboxxx
очень просто: ни одного, т.к. ни одна из функций в твоем примере так и не была вызвана.
вобщем понятно, не бывает значит такого.
цитата
28/10/09 в 13:41
nordic
В свое время пользовал doxygen.
http://www.stack.nl/~dimitri/doxygen/
Генерило нечто огромное, а-ля вики с документацией, рисунками-схемами алгоритмов, функции классы ......
На выходе получаем такое: (пример)
http://www.vtk.org/doc/nightly/html/index.html
Новая тема
Ответить
Эта страница в полной версии