С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 27/10/09 в 01:23 |
Несколько дней безрезультатно ищу такую софтину. Нечто вроде phpDocumentor, только чтобы не документацию генерило, а некий суммарный многостраничный отчет о php-проекте в наглядной форме: связи между объектами, список функций и классов, которые используют определенный класс/функцию, список файлов которые инклудят выбранный файл и т.п. штуки. Также хотелось бы, чтоб генерился список неиспользуемых файлов/классов/функций/переменных. Никто не видал чего-нибудь подобного?
|
|
|
|
Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 27/10/09 в 03:16 |
Типа этого?
http://www.nwiresoftware.com/products/nwire-php
Цитата: | Также хотелось бы, чтоб генерился список неиспользуемых файлов/классов/функций/переменных
|
Такие вещи называются code coverage и они статическим анализом не покрываются - через unit-тесты делается. На нормальных языках (типа Java) это делается при помощи удобных средств (как встроенные в Intellij IDEA), на php - через обычное место, описанное, к примеру, тут
|
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 27/10/09 в 04:23 |
классная штука. да, типа этого. а еще что-нибудь есть? мне бы все-таки stand-alone, т.к. ни эклипсом, ни зенд студией не пользуюсь.
все же мне не совсем понятно, почему нет простых средств для обнаружения неиспользуемых участков кода. если я правильно понимаю причину, то она кроется в том, что статический анализ не дает 100% гарантии правильности результата. но мне бы вполне подошел скрипт, который тупо показал бы файлы, которые нигде не подключены жестким инклудом, а также методы/функции/классы, которые не были вызваны/созданы явным образом. а я бы уже потом сам решил, что из этого списка удалять, а что нет. неужели нет такого?
|
|
|
|
Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 27/10/09 в 04:40 |
webboxxx писал: |
все же мне не совсем понятно, почему нет простых средств для обнаружения неиспользуемых участков кода. |
Код: |
class Class {
function method() {
}
}
class AnotherClass {
function method() {
}
}
func1() {
$obj = new Class();
func2($obj);
}
func2($anything) {
$anything->method();
}
|
Ну и как "простыми средствами" определить, метод какого класса вызывался?
|
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 27/10/09 в 12:41 |
очень просто: ни одного, т.к. ни одна из функций в твоем примере так и не была вызвана.
вобщем понятно, не бывает значит такого.
|
|
|
|
С нами с 31.07.08
Сообщения: 443
Рейтинг: 416
|
Добавлено: 28/10/09 в 13:41 |
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |