Снегопат

Обсуждение Снегопата
Текущее время: 27 апр 2024, 14:29

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 47 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Говнокод, часть вторая
СообщениеДобавлено: 17 окт 2014, 16:25 
Не в сети

Зарегистрирован: 19 фев 2013, 10:29
Сообщения: 64
alonehobo писал(а):
:( Печаль. Обработка "Копипаста" работает конечно быстро, но результаты неадекватные к сожалению.

А что неадекватно? вроде все что она у меня находила было правдой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Говнокод, часть вторая
СообщениеДобавлено: 17 окт 2014, 20:13 
Не в сети

Зарегистрирован: 14 май 2014, 12:17
Сообщения: 64
Она находит правду, но далеко не всю. Находятся только два похожих блока (а их может быть и 10) и не понятно по какому правилу. Многие повторные блоки просто пропускает.
Я сейчас перерабатываю свою обработку. Уже сократил время с 7 до 1 минуты. Еще немножко поколдунствую и будет вполне быстро.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Говнокод, часть вторая
СообщениеДобавлено: 19 окт 2014, 12:21 
Не в сети

Зарегистрирован: 14 май 2014, 12:17
Сообщения: 64
1. Исправил ошибки
2. Оптимизировал поиск копипасты

P.S. Спасибо Vikad за исправление обработки парсинга формы


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Говнокод, часть вторая
СообщениеДобавлено: 19 окт 2014, 17:38 
Не в сети

Зарегистрирован: 11 апр 2012, 19:19
Сообщения: 22
Цитата:
Спасибо Vikad за исправление обработки парсинга формы

не за что! наоборот, вам спасибо! вашего скрипта очень не хватало!
http://infostart.ru/public/166182/
вот это еще можно прикрутить...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Говнокод, часть вторая
СообщениеДобавлено: 20 окт 2014, 10:28 
Не в сети

Зарегистрирован: 20 дек 2011, 10:31
Сообщения: 588
Откуда: Украина, Запорожье
vikad писал(а):
Цитата:
Спасибо Vikad за исправление обработки парсинга формы

не за что! наоборот, вам спасибо! вашего скрипта очень не хватало!
http://infostart.ru/public/166182/
вот это еще можно прикрутить...


достаточно файл сохранить в scripts\epf\ и вызвать соответствующий макрос.


Вложения:
АнализЦикломатическойСложности.epf [17.55 КБ]
Скачиваний: 607
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Говнокод, часть вторая
СообщениеДобавлено: 20 окт 2014, 18:22 
Не в сети

Зарегистрирован: 14 май 2014, 12:17
Сообщения: 64
Добавил проверку на синтаксические ошибки переменных (ТекущаяСтрока и ТекущяСтрка). Прошу потестить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Говнокод, часть вторая
СообщениеДобавлено: 21 окт 2014, 12:27 
Не в сети

Зарегистрирован: 19 фев 2013, 10:29
Сообщения: 64
Модифицированность надо выкинуть из объявленных, но не используемых переменных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Говнокод, часть вторая
СообщениеДобавлено: 21 окт 2014, 13:15 
Не в сети

Зарегистрирован: 19 фев 2013, 10:29
Сообщения: 64
И еще, какой логикой пользуется раздел дублирование кода?
Я ожидал в первом уровне группировки цитату из кода и количество повторов, во втором - номера строк, с которых начинается повтор. (то есть минимум 2 строки в группе)
По факту вижу в топе блок из 87 строк, количество повторов 2, в развертке - некий блок из 5 строк, количество повторов 6.

Второй момент, какая-то беда с наслоениями.
По итогам анализа приложенного файла - второй и третий блоки топа:
у обоих длина 42 (в настройках поиска - макс 100 строк), один начинается со строки 1851, следующий с 1852, значит должен был найтись скорее всего один блок длины 43. В принципе возможно, что идет ссылка на один дубль длины 42 в одном месте, а второй в другом, но что-то мне не верится, а с учетом странности вывода проверить не получается.


Вложения:
ДляТестаДублей.1с.zip [37.57 КБ]
Скачиваний: 400
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Говнокод, часть вторая
СообщениеДобавлено: 21 окт 2014, 13:35 
Не в сети

Зарегистрирован: 14 май 2014, 12:17
Сообщения: 64
Логика такая:
Первым уровнем идет Блок1, вложенные блоки это те, которые являются его частями, но при это встречаются большее количество раз.
Пример:
Строка1
Строка2
Строка3
Встречаются 2 раза.
Строка2
Строка3
Встречаются 3 раза.

Дальше сами решаете, что лучше вынести - три строки в отдельный метод, 2 строки в отдельный метод. Или и то и другое.

Сами повторные блоки можно увидеть кликнув по количеству. Появится список с номерами строк. Как на скрине в первом посте.

У меня блоки сдвинутые на одну строку были только в случае когда указывал недостаточный максимальный размер. Проверю еще на вашем примере.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Говнокод, часть вторая
СообщениеДобавлено: 28 ноя 2014, 12:44 
Не в сети

Зарегистрирован: 19 фев 2013, 10:29
Сообщения: 64
Анализ начал загонять в дамп 1Ску на модуле из приложенного файла. С другой стороны, что то в последнее время он на разных рег отчетах себя стал вести. То ли в них есть одинаковый кусок, то ли у меня снегопат сломался.
Еще из проблем - не видит обращений к процедурам из "подвала" модуля. (в конце вне процедур)


Вложения:
ТекстМодуля_ПадаетАнализ строка 160.zip [107.29 КБ]
Скачиваний: 389
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 47 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB