Контроль дублей кода (Копипастомер)

28.08.24

Разработка - Инструментарий разработчика

Обработка для поиска повторов строк кода- находит одинаковые строки в разных текстовых файлах. Легко настраивается - Мин.порог одинаковых строк, выбор по типу / маске файла, Поиск по вложенным под-каталогам, выбор кодировки UTF-8 / ANSI ...Удобное отражение кода 1С в привычной "раскраске" и открытие файлов в одно нажатие в любом редакторе, таких как NotePad++, Visual Studio Code...или стандартных Блокноте, или Word-е Текст обработки - открыт для доработок.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Контроль дублей кода (Копипастомер) для Управляемых форм 8.3.х + БСП
.epf 15,56Kb ver:1.0.4.0828
31
31 Скачать (1 SM) Купить за 1 850 руб.
КопиПастоМер_82 ( обычные формы 8.2.х)
.erf 18,36Kb ver:1.0.0.1115
8
8 Скачать (1 SM) Купить за 1 850 руб.

Обработка для поиска повторов строк.

Обработка находит одинаковые строки в разных текстовых файлах.

Контроль файлов - только с сервера или с указанием имени компьютера в сети!
\\ИмяКомпьютера\Каталог\...


Настраивается - Количество одинаковых строк,
любой тип/маска файла: txt, xml, bsl, os, md, js... все файлы любых типов *.*
Поиск по вложенным под-каталогам,  выбор кодировки, 
удобное открытие файлов в одно нажатие... в Вами выбранном редакторе WordPad, NotePad++, Visual Studio Code...


Но копировать текст целыми блоками в коде программы - нужно в разумных пределах. Иногда это нужно, для структуры или запроса, но надо знать и контролировать такие моменты.

Данная обработка призвана помочь оценить масштабы "одинаковости" кода и помочь в улучшении (рефакторинге) кода и его структурном изменении.


Обработка находит набор одинаковых строк (с порогом срабатывания по количеству одинаковых строк - не менее 10-50 для кода 1С).

Чтобы исключить "правильные" "лесенки" строк окончания условий вида:
            КонецЕсли;
       КонецЕсли;
    КонецЕсли;
КонецЕсли;

НО, если повторяются более 100 строк... такой "лесенки" быть не может?! Надо уже как то от такого избавляться! Выносить общие блоки в отдельные функции например. Менять как-то структуру объектов, заняться Рефакторингом.
В моём примере 2 документа имеют более 121 одинаковых строк, поэтому порог срабатывания - надо подбирать под себя...

Возможности отбора:

  • по одной или всем вложенным папкам (дереву) выбранной папки
  • фильтр по типу(расширению)-txt, xml, bsl, os, md, js...
  • использование кодировки текста: UTF-8 / ANSI(Windows) / OEM (DOS) / Системная

Файлы *.os  и *.bsl - откуда они и зачем?
Воодушевленный статьями про синхронизацию 1С-хранилища и GIT, такими как:

получаются файлы с типами  *.bsl  или вообще без расширения... которые "автоматически" получаются после разложение хранилища конфигурации в "нормальную структуру папок" с помощью gitsync, за что отдельное спасибо Артуру Аюханову (artbear),  (обязательно всем смотреть его статью //infostart.ru/public/811452/) 

Файлы с типом *.os - написаны на 1С... точнее на языке OneScript (описание от автора: Андрей Овсянкина (Evil Beaver)  - см. //infostart.ru/public/548028/)  и для них тоже захотелось использовать копипастамер.

Данная обработка является "наследницей" обработки 2014г //infostart.ru/public/294285 (автор в курсе) с существенными улучшениями, доработкой и переводом на управляемые формы для 8.3 Пришлось переделывать передачу таблиц значений клиент-сервер (статья про это //infostart.ru/public/240022/)

Код открыт, дорабатывайте кому как нравится.

обработка для 8.2 - открываются через Файл - Открыть...


для 8.3 - можно использовать как внешнюю обработку для БСП любой версии 3.1.х

+++++++++++++++ Изменения +++++++++++++++

28.08.2024 добавлена возможно загрузки внешней обработки для любой версии БСП - 3.1.Х.XXX
улучшен интерфейс обработки для платформы 1С 8.3.25.

15.11.2019 улучшен файл для Обычных форм (совместима с 1С 8.2):

* отбор по любой маске файла... а не только типу файла,
* для анализа - в таблице сразу отражаются файл1, файл2, и номера строк повтора в файлах.
* Улучшен результат показывает число повторов, среднюю длину повторов, % повторяющихся строк.

дубли строк дублирование повторы одинаковые строки gitsync onescript bsl xml кодировка КопиПаст поиск одинаковый код рефакторинг улучшение статистика кода

См. также

SALE! 15%

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159729    876    399    

862

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7908    59    23    

69

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    23519    68    45    

117

SALE! 15%

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8500 руб.

10.11.2023    10480    36    25    

61

SALE! 15%

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 19980 руб.

06.10.2023    15448    35    7    

70

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    188088    1140    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17321    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7726    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gzharkoj 520 30.11.18 09:34 Сейчас в теме
Вот на инфостарте бы внедрить систему ревизии кода, а то копируют обработки, добавляют одну строку и перевыкладывают.
Трактор; rpgshnik; Aspire1C; Артано; +4 Ответить
2. Serg O. 297 30.11.18 10:53 Сейчас в теме
(1) если вы камень в мой огород... то не по адресу...

Переделка старой 14го года обработка под УФ на 8.3 - не просто копирование... а переделка...
например, 8.3 не умеет Таблицу значений с сервера на клиент передавать?! и много так сервер-клиент обмен...
по 2 функции надо

+ новые функции, которых не было в оригинале... поиск во всем дереве подпапок, сразу выбрать тип и кодировку, сразу открыть... мне так удобнее, переделывал для себя - выложил, кому может надо под 8.3 или по любым файлам (текстовым)

ссылка на оригинал (и уведомление автора оригинала) - как раз для "справедливости"...
wowik; z585; +2 Ответить
3. gzharkoj 520 30.11.18 11:18 Сейчас в теме
(2) Я вам плюс поставил к статье. У вас же все описано, откуда взяли, кто, что делал, все ссылки приведены. Все сделано правильно. Я имел ввиду в комментарии свой опыт на инфостарте.
4. nixel 1434 30.11.18 16:56 Сейчас в теме
(2) вместо передачи тз с клиента на сервер разве нельзя было использовать реквизит формы/обработки?
З.ы. Код не смотрел, извиняюсь.
8. azhilichev 214 03.12.18 09:17 Сейчас в теме
(1)Нужна не ревизия кода, а связка авторов Infostart с Github.
9. gzharkoj 520 03.12.18 09:43 Сейчас в теме
(8) Но тогда как качать за sm?
rpgshnik; +1 Ответить
13. azhilichev 214 22.01.19 11:48 Сейчас в теме
(9) Хороший вопрос. Но, думаю, это тоже решаемо.
5. Scorpion4eg 434 01.12.18 10:39 Сейчас в теме
Теперь на оскрипт бы тоже самое...
6. Serg O. 297 01.12.18 11:17 Сейчас в теме
(5) в принципе... время будет... может сделаю, oscript позволяет с ТаблицамиЗначений работать... тут на выходе 2 таких... которые можно и в 1 слить, но не вполне понятно что с этой инфой дальше делать?

+ средняя оценка повторяемости сильно зависит от мин.числа строк... на моих мини-текстах oscript это 10 строк, на реальной базе 1С УТ - файлы bsl - куски кода более 200 строк повторяются... движения документов повторы от 10 до 100 строк...

для меня не очень понятно как в скрипте это потом анализировать... это "видеть" человек должен... а просто цифра - 10 повторений со средней длиной 123,23 строки... не понятно плохо это или не очень
7. Scorpion4eg 434 01.12.18 12:29 Сейчас в теме
(6) подключить в cicd для расчета дублей кода. А отчетов для вывода полно
10. artbear 1563 21.01.19 13:01 Сейчас в теме
(6) наш плагин SonarQube 1C (BSL) Plugin в составе сервера SonarQube красиво показывает дубликаты кода

И есть возможности настройки

https://silverbulleters.org/sonarqube

Ну и т.к. это веб-сервер, все данные, замечания хранятся и можно посмотреть с любого устройства.
12. WizaXxX 363 22.01.19 07:47 Сейчас в теме
(10) Ваш плагин и правда отлично справляется со своей задачей, но к сожалению стоит сильно больше одного стартмани :)
Andreeei; +1 Ответить
11. artbear 1563 21.01.19 13:01 Сейчас в теме
(0) Спасибо за специальное упоминание меня и моей статьи по выступлению на ИС :)
Оставьте свое сообщение