Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> статический анализ кода, программы для тестирования кода 
:(
    Опции темы
xolod
Дата 5.11.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 24.5.2005
Где: Когда: Что:

Репутация: 1
Всего: 13



Zend Studio — ужасно тихий ужас (мнение мое, никого переубеждать не хочу). За свои же деньги, если забыть о «бесплатном».
Профайлера, отладчика и анализатора в одном лице будет вполне достаточно. Лучший (на мой взгляд) и бесплатный — xDebug (http://www.xdebug.org/).
PM MAIL   Вверх
dipsy
Дата 5.11.2006, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

Репутация: нет
Всего: нет



Цитата(CyClon @  5.11.2006,  18:10 Найти цитируемый пост)
Выявить ошибки - это может и сам PHP
...ну вот, а я-то думал, что код и с ошибками будет работать. smile  
Цитата(CyClon @  5.11.2006,  18:10 Найти цитируемый пост)
а вот найти слабые места...
почему не предположить, что анализатор найдёт, например, какое-то место в коде, где переменная, пришедшая от пользователя соберётся пойти в БД без предварительной обработки? а это ведь не ошибка, а слабое место. PHP легко это пропустит. (не утверждаю, а предполагаю, потому как пока не много анализаторов увидел - Zend и PMD, да особо и не просмотрел их). 

в рамках данного топика предлагаю считать: слабое место = ошибка (в логике)

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

Цитата(CyClon @  5.11.2006,  18:10 Найти цитируемый пост)
и не допускать понятия "слабые места" с своем код ;) 

1) CyClon, вы знаете все всевозможные слабые места которые могут возникнуть при работе с PHP?
2) почему именно в своём коде? а если я захочу взять чужой, из-за нехватки времени, то мне и при этом не пользоваться анализатором, а разбирать самому? - так легче с нуля всё написать.
Цитата(CyClon @  5.11.2006,  18:10 Найти цитируемый пост)
полностью положиться на него нельзя, он делаешь лишь все по шаблону
кто-то говорил о том, что собирается полностью полагаться на анализатор кода? кто-то уверял, что книги равноценны анализатору?

а кроме, CyClon, мысль такая: если комп показывает ошибку, значит стоит обратить внимание на это; думаю, что после того, как раза три поправишь ошибку, то больше не будет желания её допускать. и в результате качество создаваемого кода должно улучшится.

Цитата(CyClon @  5.11.2006,  18:10 Найти цитируемый пост)
лучше прочитать несколько серьезных книжек 
  smile посоветуйте, пожалуйста, серьёзные книги на тему поиска слабых мест в коде. 

полностью согласен, что книги читать необходимо, но не соглашусь с тем, что дополнительные методы диагности кода будут излишни, тем более что диагностика проводится двумя кликами мыши. вижу, что у вас другое мнение, - так я не против. Только стоит или не стоит использовать, я для себя уже решил. 
PM MAIL WWW   Вверх
CyClon
Дата 5.11.2006, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Цитата
1) CyClon, вы знаете все всевозможные слабые места которые могут возникнуть при работе с PHP?


Я врятли в небольшом куске кода забуду проэкранировать полученную от юзера инфу, например. То же самое сделает Zend. Но если я напишу логически неправильный код (Пусть даже какие-то операции попутаю местами), то имхо, детище Zend и подавну не найдет это "слабое место".

Цитата
а кроме, CyClon, мысль такая: если комп показывает ошибку, значит стоит обратить внимание на это; думаю, что после того, как раза три поправишь ошибку, то больше не будет желания её допускать. и в результате качество создаваемого кода должно улучшится.


Поэтому я всегда ставлю error_reporting(E_ALL), чтобы видеть все ошибки, исправлять их и более не допускать.

Цитата
smile посоветуйте, пожалуйста, серьёзные книги на тему поиска слабых мест в коде.


Ты все мои фразе прековеркиваешь, я пишу о книжках, которые, допустим, помогают избавится от дурной привычки оставлять слабые места в коде, а не по поиску последних. Для начала "Профессиональное программирование на PHP, 2 издание" все-таки имеет немало отличий от книги "PHP для чайников".


--------------------
user posted image
PM   Вверх
dipsy
Дата 5.11.2006, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

Репутация: нет
Всего: нет



Цитата(CyClon @  5.11.2006,  20:51 Найти цитируемый пост)
Я врятли в небольшом куске кода забуду...

охотно верю, касаясь конкретно этого; но важно другое:
Цитата(dipsy @  5.11.2006,  19:35 Найти цитируемый пост)
наверняка, какие-то ещё подобные ошибки могут быть в коде... столь же очевидные, но мне пока ещё не известные.
важна возможность проверить достаточно большой код на предмет простых ошибок этого уровня. которые могут возникнуть просто по невниманию.
Цитата(CyClon @  5.11.2006,  20:51 Найти цитируемый пост)
Zend и подавну не найдет это "слабое место".
не знаю, что он найдёт, а что нет. думаю, что вы тоже не знаете. о чём тогда речь? тем более, что кроме Zend есть другие анализаторы. я предпочитаю проверить, может быть, позже отпишу о результатах.
Цитата(CyClon @  5.11.2006,  20:51 Найти цитируемый пост)
 я пишу о книжках, которые, допустим, помогают избавится от дурной привычки оставлять слабые места в коде, а не по поиску последних.

честно, - не вижу принципиальных отличий.
Цитата(CyClon @  5.11.2006,  20:51 Найти цитируемый пост)
всегда ставлю error_reporting(E_ALL) 
это сильно отличается от error_reporting(E_ALL ^ E_NOTICE) ?
Цитата(CyClon @  5.11.2006,  20:51 Найти цитируемый пост)
Ты все мои фразе прековеркиваешь
прошу прощения... есть у меня такое свойство... мнительность называется.
PM MAIL WWW   Вверх
CyClon
Дата 6.11.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Цитата
error_reporting(E_ALL ^ E_NOTICE) ?


Может я и ошибаюсь, но помоему эта функцию устанавливает вывод всех ошибок кроме NOTICE. Так вот, необъявленная переменная - это NOTICE. Если ты проигнорируешь сообщение (а так и будет, ты его даже не увидишь), то можно прописать /?var=value и все (При вклеченных register_globals, а они включены почти везде, если не брать в счет localhost).


--------------------
user posted image
PM   Вверх
IZ@TOP
Дата 7.11.2006, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



CyClon, ты не ошибаешься. А register_globals отключен на всяком сервере уважающего себя хостера, ну, и у опытных программистов, разумеется.

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


$alone = 1;
if($alone = 1) {
    echo "Я один...";
} else {
    echo "Я не один!";
}


Разумеется я буду всегда один, ибо не внимательный. 


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0875 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.