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

Поиск:

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


Опытный
**


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

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



Используете ли вы какие-то программы статического анализа кода? Если да - посоветуйте, пожалуйста.
PM MAIL WWW   Вверх
Opik
Дата 30.10.2006, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



dipsy
нет smile
PM MAIL Skype   Вверх
-=Ustas=-
Дата 30.10.2006, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Цитата(dipsy @  30.10.2006,  08:47 Найти цитируемый пост)
Используете ли вы какие-то программы статического анализа кода? Если да - посоветуйте, пожалуйста. 

Что есть "статически анализировать код"?!


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
dipsy
Дата 30.10.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(-=Ustas=- @  30.10.2006,  12:56 Найти цитируемый пост)
Что есть "статически анализировать код"?! 

Хм.. на RSDN сказали, что называется это именно так "статический анализ кода".

В-общем, на сайте IBM видел статью, в которой рассказывалось, что есть такие утилиты, которые позволяют выявлять ошибки, слабые места кода в разных языках программирования, а в частности, - Java, С++. на rsdn я интересовался, есть ли что-то для тестирования кодов PHP. мне ответили, что есть, но ничего конкретного посоветовать не могут.
PM MAIL WWW   Вверх
-=Ustas=-
Дата 30.10.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Цитата(dipsy @  30.10.2006,  13:15 Найти цитируемый пост)
которые позволяют выявлять ошибки, слабые места кода в разных языках программирования,

А, это....

Добавлено @ 14:14 
Из ответа на rsdn
Цитата

#  PHP executes a built-in basic Lint check when invoked with the -l switch. Example usage: for i in `find . -name \*.php`; do php -l $i | grep -v "No syntax errors"; done
# PMD's Copy/Paste Detector
# Zend Studio IDE includes static code analysis for PHP, called the "Code Analyzer".
# ocProducts code quality checker
# Armorize CodeSecure — The first security appliance for PHP source code scanning with traceback support and Web 2.0 interface.

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


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
dipsy
Дата 30.10.2006, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(-=Ustas=- @  30.10.2006,  14:04 Найти цитируемый пост)
Из ответа на rsdn
-=Ustas=-, всё так, но только нужен не "софт предназначеный кажется для этого", а нормальный рабочий инструмент, которым кто-то уже пользуется и может дать дельный совет.

прошу прощения, что пишу off topic, но это не есть мой путь - быть первооткрывателем. Потому и спрашиваю тут снова, а не довольствуюсь ответом на форуме rsdn.
PM MAIL WWW   Вверх
-=Ustas=-
Дата 31.10.2006, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Цитата(dipsy @  30.10.2006,  21:08 Найти цитируемый пост)
а нормальный рабочий инструмент

Ты зенд студио смотрел?! Там вполне рабочий инструмент.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
dipsy
Дата 31.10.2006, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня нет Zend Studio. (он платный, на сколько я в курсе)
PM MAIL WWW   Вверх
skalex
Дата 31.10.2006, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


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

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



dipsy, ну так купи его!  smile

И действительно, необходимость "статистического анализа кода", в частности для PHP, не совсем понятна.
PM   Вверх
-=Ustas=-
Дата 31.10.2006, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Цитата(dipsy @  31.10.2006,  10:34 Найти цитируемый пост)
У меня нет Zend Studio. (он платный, на сколько я в курсе) 

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


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
IZ@TOP
Дата 31.10.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



dipsy, акромя ZendStudio, я не видел ни одной программы для анализа PHP кода. Так что качай демо версию и гляди на возможности. Если понравится можешь купить или...
офф:
-=Ustas=-, эк завернул, не придерешься  smile .



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

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
dipsy
Дата 31.10.2006, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(skalex @  31.10.2006,  12:31 Найти цитируемый пост)
dipsy, ну так купи его! 

Цитата(-=Ustas=- @  31.10.2006,  13:27 Найти цитируемый пост)
запрещено обсуждать возможности бесплатного использования платных продуктов

Имел в виду, что стараюсь подыскивать бесплатные программы. зачем издеваться-то?

Цитата(skalex @  31.10.2006,  12:31 Найти цитируемый пост)
необходимость "статистического анализа кода", в частности для PHP, не совсем понятна

Думаю, что надо сначала посмотреть, какие рекомендации дают эти программы. Люди используют подобный софт для других языков, и мне наоборот не понятно, - чем PHP так принципиально отличается, что для него такой необходимости нет. По мне - так она точно есть. Потому как писать модули, тестировать и настраивать стили приходится одному. Потому и хочется часть работы хоть как-то автоматизировать.
PM MAIL WWW   Вверх
IZ@TOP
Дата 1.11.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(dipsy @  31.10.2006,  19:38 Найти цитируемый пост)
Люди используют подобный софт для других языков, и мне наоборот не понятно, - чем PHP так принципиально отличается, что для него такой необходимости нет. По мне - так она точно есть.

Полнолстью поддерживаю. РНР отличается лишь тем что на нем иногда пишут люди ленивые или несведущие.
Советую почитать еще про разработку по методологии TDD http://phpclub.ru/faq/wakka.php?wakka=TDD.


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

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
dipsy
Дата 5.11.2006, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(IZ@TOP @  1.11.2006,  12:41 Найти цитируемый пост)
Советую почитать еще про разработку по методологии TDD 

читал кое-что по этой теме в книге:
Профессиональное программирование на PHP Джордж Шлосснейгл 
Такой способ работы должен увеличить срок написания проекта; раз качество улучшается, значит придётся увеличивать время.
PM MAIL WWW   Вверх
CyClon
Дата 5.11.2006, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Анализатор кода? Выявить ошибки - это может и сам PHP, а вот найти слабые места... Думая лучше прочитать несколько серьезных книжек и не допускать понятия "слабые места" с своем код ;) Компьютер пока что не обладает IQ и полностью положиться на него нельзя, он делаешь лишь все по шаблону.


--------------------
user posted image
PM   Вверх
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   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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