Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/26: Рейтинг темы: голосов - 26, средняя оценка - 4.58
 Аватар для wwall
213 / 204 / 15
Регистрация: 29.05.2014
Сообщений: 1,058

Статический анализатор кода (не оптимизатор!!!)

08.10.2014, 22:15. Показов 5829. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для многих языков есть статические анализаторы кода. Для "нежно" любимого мной 1С - нет. В ближайшем будущем буду исправлять этот косяк. В связи с этим вопросы -
Был бы вам нужен?
Что бы хотели видеть в нем? Какую функциональность?
В каком виде лучше оформлять правила?
А вывод как лучше сделать?

Добавлено через 50 секунд
модеры - добавьте букву Л в слово анаизатор в заголовке
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.10.2014, 22:15
Ответы с готовыми решениями:

Статический анализатор кода
Всем доброго времени суток! Мне поставлена задача, написать статический анализатор кода для MPI. Для начала хотелось бы разобраться с...

Статический анализатор кода
Всем привет! Сразу извиняюсь за то, что создал тему не в том форуме ( не знал, где ее можно создать, ибо очевидного форума про такие...

Подскажите статический анализатор кода C++
Есть большой и страшный проект на C++, где много повторяемого кода (или почти повторяемого). Есть ли такой анализатор, который сможет...

36
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
09.10.2014, 20:45
Студворк — интернет-сервис помощи студентам
Ннна... ччёрт, не влезает. Надо рубить на 4 части или паковать. Щас зарарю. Ну вот... при редактировании не грузится
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
09.10.2014, 20:49
.....
Вложения
Тип файла: rar Текст запроса.rar (3.2 Кб, 6 просмотров)
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
09.10.2014, 20:49
Это УПП или Зарплата
0
 Аватар для wwall
213 / 204 / 15
Регистрация: 29.05.2014
Сообщений: 1,058
09.10.2014, 21:04  [ТС]
спасибо
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
10.10.2014, 00:14
Цитата Сообщение от wwall Посмотреть сообщение
самый длинный запрос на ваш взгляд. Корректный - это пока важно
wwall, тупо открой ЗУП в пофигураторе...
0
 Аватар для wwall
213 / 204 / 15
Регистрация: 29.05.2014
Сообщений: 1,058
10.10.2014, 14:27  [ТС]
Итак, упрощение для запроса. AST для текста запроса есть.
Есть 2 идеи для правил -
1. Контроль токенов. То есть, если в тексте используются 2 языка то выдвать предупреждение
2. Контроль области ГДЕ для соединений. То есть если в запросе есть соединения 2 таблиц и в области где задано условие сравнения с константой, то это условие переносить в область связи.

Вопрос - как удобнее эти правила было бы записать? Я пока вижу только вариант писать плагины которые будет отчет подключать и обрабатывать.
Может кто-то что умное подскажет?
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
11.10.2014, 23:26
Контроль что запрос использует связи которые не попадают в Индекс
0
 Аватар для wwall
213 / 204 / 15
Регистрация: 29.05.2014
Сообщений: 1,058
12.10.2014, 13:45  [ТС]
Вопрос не в идеях. Хотя за идею- спасибо
Вопрос - как это правило задать?
Есть варинат написать свой парсер и оттуда брать данные
Например твоя идея могла бы выглядеть так
Начало Правила
Имя: Правило Dethmontt
Область: Связи
Правило:
1C
1
2
3
4
5
6
7
8
9
10
для каждого х из Связи цикл
    Таблица1 = х.ЛеваяТаблицы.Метаданные();
    Таблица2 = х.ПраваяТаблица.Метаданные();
    Реквизит1 = х.ЛевыйРеквизит;
    Реквизит2 = х.ПравыйРеквизит;
    если не (РеквизитПроиндексирован(Реквизит1,Таблица1) и РеквизитПроиндексирован(Реквизит2,Таблица2)) 
           и ПростаяОперацияСравнения(х.Операция) тогда
        ПравилоОтработало(х);
    конецесли;
конеццикла;
КонецПравила

либо все тоже самое описать в обработке
Первый вариант - лучше тем что для написания правил не нужен конфигуратор. Хуже тем что надо будет писать подробную документацию

Добавлено через 1 минуту
в общем нужна идея как представить правила
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
12.10.2014, 14:46
Мою мысль рубят технические затычки. Большинство связей работают с вложенными запросами и временными таблицами. Как парсить их структуру??
0
 Аватар для wwall
213 / 204 / 15
Регистрация: 29.05.2014
Сообщений: 1,058
12.10.2014, 15:05  [ТС]
Исходи из предположения что парсер есть. и для любой временной таблицы ты можешь получить из чего она состоит вплоть до метаданных из которых идет выборка (ну или констант - если выборка не из БД)

Добавлено через 38 секунд
Приду домой выложу что бы было понимание о чем говорю. Специально на 1С переписал.
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
12.10.2014, 15:20
Цитата Сообщение от wwall Посмотреть сообщение
Специально на 1С переписал
а текст модуля тоже вытащить не проблема? Ну, непосредственно в 1С
0
 Аватар для wwall
213 / 204 / 15
Регистрация: 29.05.2014
Сообщений: 1,058
12.10.2014, 15:23  [ТС]
его же из конфигуратора можно выгрузить. Или V8UNPACK, или PlayWithFire
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
12.10.2014, 15:25
PS. Извини, некогда врубаться в конструктор запроса.
В принципе, я проверяю рукопашные запросы, открывая их в конструкторе: при открытии он отлавливает критичные траблы. Но нельзя сохранять, потому что конструкцию "ВЫБРАТЬ Ссылка ИЗ Справочник.ХЗ" он превратит в десять трудночитаемых строчек
0
 Аватар для wwall
213 / 204 / 15
Регистрация: 29.05.2014
Сообщений: 1,058
12.10.2014, 15:26  [ТС]
не понял твою мысль, если честно.
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
12.10.2014, 15:37
Цитата Сообщение от wwall Посмотреть сообщение
V8UNPACK, или PlayWithFire
м-да, *а кто такой Скр?* в смысле, PlayWithFire?

Добавлено через 3 минуты
Цитата Сообщение от wwall Посмотреть сообщение
не понял твою мысль
она философская: конструктор имеет легко используемый парсер, эмулирование которого с расширением рационально только из соображений познания вселенной.
0
 Аватар для wwall
213 / 204 / 15
Регистрация: 29.05.2014
Сообщений: 1,058
12.10.2014, 15:40  [ТС]
GameWithFire - ошибся. Тут http://main.1c-ei.ru/Articles/gamewithfire
Цитата Сообщение от duk337 Посмотреть сообщение
конструктор имеет легко используемый парсер
Как программно в 8.2 легко использовать парсер запроса?
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
12.10.2014, 15:47
Цитата Сообщение от wwall Посмотреть сообщение
Как программно в 8.2 легко использовать парсер запроса?
зачем программно, слушай? Нажал кнопку - и играй! В этом философский смысл. Здорово, конечно, программно это сделать, но мне карма не даёт. Даже с компоновщиками СКД я принципиально не работаю программно, "в этом мотиве есть какая-то фальш..." (Цой)

Добавлено через 1 минуту
Кстати, я не настаиваю на своей философии абсолютно и изначально. Просто одна из позиций, не более. Я тоже начинал познавать вселенную, перематывая динамики, чтоб и АЧХ у них ещё не поехала.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.10.2014, 15:47

Vim и статический анализатор кода
Здравствуйте товарищи, вопрос следующий - можно ли прикрутить к Vim статический анализатор кода?

Статический анализатор Cppcheck: как пользоваться?
Здравствуйте! Если кто пользовался, прошу подсказать: как ей пользоваться? скачал, установил, выбираю "анализ", "файлы"...

Оптимизатор кода
Есть ли в Adobe Dreamweaver CS 5 функция оптимизировать код? Я искал не нашел.

Оптимизатор кода в релизе
Есть некоторая функция, сравнительно быстрая (сотня другая тактов) Решил всё же измерить её скорость. //Evaluating hands time_t...

Оптимизатор исходного кода
. Оптимизатор исходного кода. Для увеличения/уменьше* ния значения целочисленной переменной на единицу в языках программирования можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru