Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.25;
Скачать: CL | DM;

Вниз

Помогите найти программные инструменты для анализа кода!   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.012 c
7-80709
Kirill
2001-12-21 20:26
2002.03.25
Format Date


1-80505
shamen
2002-03-12 13:26
2002.03.25
Как добавить свою кнопку в панель инструментов Word из внешней проги на Delphi


14-80665
С_тоша
2002-02-11 16:03
2002.03.25
Срочно НУЖНА ПОМОЩЬ!!!!!


1-80484
Alexandr
2002-03-12 15:05
2002.03.25
Парсинг


1-80561
Компонент
2002-03-07 22:34
2002.03.25
Не видел ли кто-нибудь примера программы, которая эмулировала бы среду Delphi?