Форум: "Основная";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
ВнизПомогите найти программные инструменты для анализа кода! Найти похожие ветки
← →
kull (2002-03-11 17:42) [0]Народ! Помогите кто может!
Я слышал, что существуют программные продукты для анализа кода на разных языках.
Например поиск потенциально опасных мест на предмет утечки памяти и т.п. Оценка структуры частей кода, структура вызовов функций и методов и т.д.
Я пошарил по поисковикам но почти все для языков типа С++ Java.
Хотелось бы еще что-нибудь для Object-Pascal...
← →
vuk (2002-03-11 17:51) [1]Посмотрите http://www.automatedqa.com/
← →
kull (2002-03-11 18:08) [2]
> vuk
Спасибо! Я посмотрел.
Но почти все для тестирования и отладки, а хотелось бы и для анализа и оценки качества...
← →
vuk (2002-03-11 18:16) [3]>хотелось бы и для анализа и оценки качества
Что есть критерий качества и как Вы хотите оценить качество кода без его выполнения? Те же утечки памяти только при выполнении всплывают... Программа Ваши мысли читать не будет...
← →
kull (2002-03-11 18:32) [4]
> vuk
Вот самый простой вариант.
Например есть код:
1.
------------------------------------
begin
.....
form1.caption := "title1";
.....
form2.caption := "title1";
.....
end;
2.
------------------------------------
const
title = "title1";
begin
.....
form1.caption := title;
.....
form2.caption := title;
.....
end;
-----------------------------------------------
Если потребовалось поменять "title1" на "title2"?
в первом случае:
Надо менять в двух местах. А если таких мест много да еще в разных файлах большого проекта.
во втором случае:
изменяется только строка с константой.
Поиск таких мест (первый вариант) более чем реален и не надо угадывать мысли програмиста.
И это не единственный пример как повысить качество и гибкость кода...
Вот для анализа таких (и других) штук я и хотел бы найти софт.
← →
vuk (2002-03-11 18:43) [5]Это не к качеству кода относится, а к стилю программирования и грамотной организации кода. Это лечится не программами, а выправлением этого самого стиля у программиста, введением стандартов на оформление кода и т.д.
← →
kull (2002-03-11 18:56) [6]
> vuk
Это все верно.
Но стандарт программирования не поможет если код уже написан - это лишь профилактика.
И к тому же при следовании стандартам и определенному стилю, все равно можно написать жуткий код.
Вот еше пример: Повторяющийся код.
Есть несколько разработчиков.
И в процессе их деятельности появляются учаски кода выполняющие в принципе одно и тоже. Неплохо было бы свести это все в одну функцию. Это вариация на тему констант (если надо будет поменять алгоритм...).
← →
vuk (2002-03-11 19:04) [7]>процессе их деятельности появляются учаски кода выполняющие в
>принципе одно и тоже
Все это знакомо, только вот один и тот же по смыслу (или близкий по смыслу) код может выглядеть настолько по-разному у двух разных людей, что ни один анализатор исходников не поможет, а мысли он, как я уже говорил, читать не умеет.
Хотя, возможно, есть кое-что, что может решить часть проблем - http://www.peganza.com/
← →
kull (2002-03-11 19:10) [8]
> vuk
Спасибо!
Посмотрю что это.
← →
kull (2002-03-11 19:18) [9]И еще.
> а мысли он, как я уже говорил, читать не умеет
Все мысли пишутся в виде кода, который обрабатывает компилятор (он кстати тоже является анализатором). Ведь для того и существует язык программирования. А если мыслю не выразить в виде алгоритма о и нечего анализировать. И не стоит переоценивать людей которые пишут анализируемый код, и недооценивать людей, пишущих инструменты для анализа.
← →
vuk (2002-03-11 19:29) [10]>Все мысли пишутся в виде кода, который обрабатывает компилятор
Компилятор выполняет единственную работу - перемалывает исходник на входе и выдает машинный код на выходе, по-возможности - оптимизированный. Каким-либо серьезным анализом алгоритмов он обычно не занимается.
>А если мыслю не выразить в виде алгоритма о и нечего
>анализировать.
Для достижения одной цели может быть выбрано несколько разных путей, и соответственно, использовано несколько разных алгоритмов.
← →
Фэ (2002-03-11 19:33) [11]Поищи CodeRush от Eagle Software.
Это не совсем то, что ты хочешь, но великолепный фоновый и организующий инструмент к Delphi&Builder (набор экспертов и пр.).
В том числе - оценка стиля программирования.
Не перестарайся на этом пути, однако.
← →
Андрианов Владимир (2002-03-11 21:38) [12]Про утечку памяти - я пользуюсь memchek - модуль, который надо включить в проект,
указывает строчку в коде, где выделяется память, кот. потом не освобождается.
← →
Alx2 (2002-03-12 10:29) [13]Про "узкие" места в программе - Intel VTune
← →
mio (2002-03-12 11:50) [14]Утечки памяти можно ловить и без помощи MemCheck, который, конечно, написан умными людьми, но - уж очень хитро. Можно просто переопределить менеджер памяти и - считать кол-во обращений к Get/FreeMem, объемы, ну, и т.д. и т.п.
← →
kull (2002-03-12 12:07) [15]Да программа для контроля правильной работы с памятью есть:
Memory Sleuth 2 - отличная штука ловит и память и ресурсы неосвобожденные.
Залез на http://www.peganza.com/ - да действительно pascal analazer неплохая штука, но глючная.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.005 c