|
|
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
это наподобие FxCop в мире шарпа только под паскаль? Помню, как первый раз скормил свою сборку FxCop'у, глаза повылазили от количества предложений что-то улучшить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2012, 13:13 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
Не работал раньше с FxCop. Сейчас посмотрел на Википедии, похоже у них подход немного другой. Я анализирую исходные коды, а они компилированный объектный код. Предупреждений действительно много выдается. Пытаюсь сократить, оставив только нужное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 00:55 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
AKdominatorЯ анализирую исходные коды, а они компилированный объектный код.Ну дык, дотнет такой дотнет, код свой не защитишь, считай исходники отдал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 10:26 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
Выпустил новую версию программы CodeVerifier - 0.4 Список изменений: Добавлен тест "Деструктор не содержит в себе inherited". Отсутствие inherited в деструкторе означает, что не будет вызван деструктор предка - это может приводить к утечкам памяти ли неправильной работе программы. Добавлен тест "Проверка расположения компонентов друг относительно друга". Он проверяет небольшие сдвиги компонентов одного типа друг относительно друга. Добавлен тест "Поиск создания Exception'ов без ключевого слова raise". Отсутствие ключевого слова raise перед созданием исключения может означать, что исключение не будет возбуждено, выполнение программы не прервется, а созданный объект исключения останется висеть в памяти. Скачать можно здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 00:54 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
AKdominator, Спасибо. Может Вы отдельную ветку создадите, для удобства? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 06:25 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
AKdominator, Спасибо. Может Вы отдельную ветку создадите, для удобства? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 06:25 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
inherited Destroy - неправильно отрабатывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 16:13 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
YedСпасибо. Может Вы отдельную ветку создадите, для удобства? Я наверное лучше блог заведу. inherited Destroyinherited Destroy - неправильно отрабатывает А что неправильно? Можете пример привести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 16:31 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
AKdominatorА что неправильно? Можете пример привести? Если в деструкторе написано не просто inherited, а inherited Destroy, то выдается сообщение, что в деструкторе не указан inherited. А он есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 17:00 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
Ну или вот Код: pascal 1. 2. 3. 4. 5. 6. Если Exception.Create не находится на одной строке с raise, матюкается на использование Exception без raise ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 17:21 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
inherited DestroyЕсли в деструкторе написано не просто inherited, а inherited Destroy, то выдается сообщение, что в деструкторе не указан inherited. А он есть. Это скорее всего не из-за того, что написан Destroy, я делал, чтобы такие случаи учитывались. Наверное парсер неправильно определил где заканчивается деструктор. Можете привести пример содержимого деструктора? inherited DestroyНу или вот Код: pascal 1. 2. 3. 4. 5. 6. Если Exception.Create не находится на одной строке с raise, матюкается на использование Exception без raise Тоже связано с хреновым парсингом. Попробую прикрутить Castalia Delphi Parser, должно стать лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 18:46 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
AKdominator Можете привести пример содержимого деструктора? Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 10:14 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
inherited Destroy Код: pascal 1. 2. 3. 4. Тут перед inherited TAB стоит, из-за этого не работало. Спасибо. Исправил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 13:48 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
Выпустил новую версию 0.5 Изменения в новой версии: Добавлен тест "Поиск некорректного создания объектов". Он находит ошибки типа "VarName := VarName.Create", а также создание объектов, которые никому не присваиваются. Возможны ложные срабатывания, например, при вызове Create у record'ов, у потоков и у объектов, владелец которых сам передается конструктор. Добавлен тест "Проверка того, что после после then, do и т.д. нет нескольких значимых строчек, выровненных по одному уровню". Для корректной работы теста нужно, чтобы код был оформлен в стандартном стиле Delphi. Добавлен тест "Проверяет, чтобы в функции Format и подобных, количество параметров в строке совпадало с количеством передаваемых параметров." В нескольких тестах устранены ложные срабатывания. Исправлены ошибки, выявленные в работе программы. Теперь информацию о выходе новых версий и о других изменениях буду выкладывать в блоге http://ak-coder.blogspot.ru/] http://ak-coder.blogspot.ru/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2013, 23:09 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
AKdominatorПроверка того, что после после then, do и т.д. нет нескольких значимых строчек, выровненных по одному уровню"Это весьма полезно. Еще один тест - после then и do не стоит точка с запятой. Когда-то такой код Код: pascal 1. 2. 3. 4. стоил мне больших нервов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 02:39 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
Да, такой тест тоже есть. Тоже напарывался на такую ошибку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 15:10 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
Что-то на долго забросил проект CodeVerifier'а. Но вот появилось время заняться им опять. Изменения в версии 0.6: - Добавлен тест "Проверка правильности использования except в транзакциях". - Добавлен тест "Проверка отсутствия Exit внутри try ... Commit...; except". - Добавлен тест "Поиск неиспользуемых процедур и функций" он ищет процедуры и функции, описанные в implementation части и не используемые ниже. - Добавлен тест "Поиск неиспользуемых переменных" он ищет переменные, описанные в implementation части и не встречающиеся ниже. - Добавлен тест "Проверка наличия const или out модификатора у String аргумента процедур и функций". - Добавлен тест "Поиск вызова Create не от типа, а от переменой (тип определяется по формальным признакам вроде префикса "T")". - Добавлен тест "Возможно, вместо изменения массива через SetLength можно изменить его через Delete" - Добавлен тест "Проверка на соответствие параметров компонентов форм". - Теперь после проверки в списке тестов показывается сколько было найдено ошибок в конкретном тесте. При щелчке по тесту показываются отчеты именно этого теста. - Доработаны некоторые существующие тесты. - Исправлены ошибки, выявленные в работе программы. Новую версию можно скачать здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 17:55 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
AKdominator, вообще непонятно как работает. Файлы из указываемого каталога не видит. Написал вручную A := A; , никаких предупреждений нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 18:10 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
asutp2, оптимизатор сам вырежет такую конструкцию, так как это бессмысленно в любом случае ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 18:19 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
shonli95asutp2, оптимизатор сам вырежет такую конструкцию, так как это бессмысленно в любом случае 1. Смысл может быть, если A - property, хотя от такого лучше избавляться. 2. Скорее всего, должны были написать что-то другое, но ошиблись - предупреждение об этом может быть очень полезным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 19:17 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
так вообще никаких предупреждений не выдалось. что я сделал не так? это вопрос к автору ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 20:01 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
x1ca4064, Т.е. если я добавлю пару страниц комментариев, эта Peganza не среагирует? А если я кусок процедуры перенёс в другую процедуру/метод или вообще в новый юнит вставил? Тоже молча проглотит? Тогда в топку эту пеганцу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 22:32 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
Gator, Я не знаком с пеганзой, но задачи которые Вы описали, совершенно не относятся к статическому анализу, а пеганза, как я понял, и есть статический анализатор: примерно то, что дельфи выдает в качества ворнингов, только более "хитрый". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 04:23 |
|
||
|
Peganza Pascal analyzer, SockSoftware CodeHealer: ищу аналоги и продавцов в России
|
|||
|---|---|---|---|
|
#18+
asutp2AKdominator, вообще непонятно как работает. Файлы из указываемого каталога не видит. Написал вручную A := A; , никаких предупреждений нет Конкретно при проверке на равенство левой и правой частей неравенства делается так: 1) отбрасываются все комментарии в файле. 2) в каждой строке проверяемого файла ищется первое вхождение ":=". 3) если нашлось, и строка заканчивается на ";", тогда берется подстрока слева от присваивания и делается ей trim потом берется подстрока справа от присваивания без учета последнего символа и делается ей trim 4) полученные подстроки сравниваются. Если одинаковые, то заносятся в отчет. Я думаю проблема могла быть? если после точки с запятой были пробелы. Сейчас сделал чтобы для проверяемой строки тоже сразу делался trim. Так что теперь такого быть не должно. asutp2так вообще никаких предупреждений не выдалось. что я сделал не так? это вопрос к автору Возможно в вашем коде нет ничего такого, что могла бы найти программа :) Да, еще после окончания проверки, в левом списке с тестами, в скобках показывается сколько подозрительных мест найдено конкретным тестом, если все по нулям, то значит ничего не нашлось. Если не ноль, тогда можно выбрать этот тест и будет показано в каких файлах сработала проверка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 09:29 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=38033963&tid=2038250]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 284ms |
| total: | 413ms |

| 0 / 0 |
