Конвейер проверки качества кода

29.12.19

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

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Скрипты для работы конвейера:
.zip 35,44Kb
39
39 Скачать (3 SM) Купить за 2 450 руб.

Про управление качеством кода - Управление техническим долгом - Концепция Continuous Inspection и Управление качеством кода.

Использование сонара - Управляй качеством кода 1С с помощью SonarQube

Что умеет

Как работает

Установка и настройка инфраструктуры

    Установить ГитКонвертор

    Установить SonarQube и плагины

    Установить 1С:EDT

    Установить Дженкинс

    Установить и настроить SonarScanner для дженкинса

    Создать каталог инструментов

    Установить oscript и библиотеки

    Установить и настроить АПК

    Создать репозиторий для дженкинсфайла

    Настроить оповещения

Добавление проекта к проверке

    Настроить ГитКонвертор

    Настроить АПК

    Создание первого конвейера

    Указать параметры запуска конвейера

    Создание второго конвейера

    Расчет покрытия тестами

 

Что умеет

 

  • Собирает ошибки с 3х анализаторов: АПК, EDT и BSL-LS и отправляет в Сонар.
  • Используется единый дженкинсфайл для всех проектов. Если нужно улучшить конвейер - делается это в одном месте.
  • Работает по выгрузке ГитКонвертора. А ГитКонвертор выгружает проект в формате EDT.
  • Вырезает из списка ошибок все объекты на замке. Если конфигурация на поддержке и поменять только один модуль - будут показаны ошибки только по этому модулю.
  • Переопределяет параметры ошибок. Можно понизить/повысить важность ошибок. И даже полностью пропустить.
  • Параметры переопределения могут быть как едиными - лежать в репозитории рядом с дженкинсфайлом. Так и частными для каждого проекта.
  • Можно вывести покрытие кода.

Как работает

 

Разработчик помещает свои изменения доработки в хранилище. Через некоторое время получает уведомление о завершении проверок. Заходит в SonarQube и видит список замечаний по своему коду.

В это время внутри:

  • ГитКонвертор получает все новые изменения и коммитит их в репозиторий.
  • Вручную, по расписанию или по событию стартует конвейер. Первым шагом он получает и актуализирует дженкинсфайл.
  • Инициализирует все нужные переменные, заполняет пустые параметры значениями по умолчанию и готовит каталоги. Выполняет оповещение о старте конвейера.
  • Получает репозиторий с кодом в подкаталог “repo”.
  • Выполняется выгрузка ошибок из АПК, EDT и BSL-LS в джсон-файлы.
  • Джсон-файлы обрабатываются оскриптом - вырезаются файлы на поддержке, переопределяются данные ошибок.
  • Если указана папка с файлами замеров, то они конвертируются в файл покрытия.
  • По исходникам получается текущая версия конфигурации. Переопределяется джава. Собираются параметры для работы СонарСканера и запускается.
  • После отработки сканера конвейер ставится на паузу и ждет ответа от сервера сонара. По ответу можно сломать сборку, если порог не пройден или просто сообщить статус проверки оповещением.

Установка и настройка инфраструктуры

Установить ГитКонвертор

 

https://github.com/1C-Company/GitConverter

Он нужен для конвертации хранилища в гит-репозиторий. Когда SonarQube работает по гит-репозиторию - появляется информация о разработчике, который внес ошибку.

ГитКонвертор можно установить на тот же сервер, где будут располагаться и другие инструменты. Плюсы от совместного размещения - экономия на количестве серверов, все в одном месте, переиспользование инструментов. Из минусов - возможные конфликты за ресурсы, уменьшение надежности.

Установить SonarQube и плагины

 

Про установку хорошо написано в статье Управляй качеством кода 1С с помощью SonarQube

Сканер ставить не надо. Будет использоваться плагин дженкинса.

Комьюнити плагин для сонара доступен теперь и в маркете сонара.

Установить 1С:EDT

 

https://edt.1c.ru/

Если ГитКонвертор установлен на этом же сервере, то едт уже был установлен ранее. Второй раз можно не ставить.

Установить Дженкинс

 

Про установку хорошо написано в статье Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD. Именно из-за этой статьи я решил сделать единый дженкинсфайл для проверки качества кода. И в ней же узнал как это сделать.

Слейв ноду нужно обязательно настроить. АПК отказывается корректно работать, если дженкинс запущен как сервис.

Установить и настроить SonarScanner для дженкинса

 

SonarScanner for Jenkins” - https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-jenkins/

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

В конфигурации системы:

В конфигурации глобальных инструментов:

Имя сервера “Sonar” и имя сканера “SonarQube Scanner” используются в дженкинсфайле, поэтому их лучше не менять. Или поменять и в дженкинсфайле.

Создать каталог инструментов

 

На сервере создать папку “C:/Sonar/”. Не обязательно именно этот путь, но далее буду оперировать именно им.

Скачать последний релиз обработки с https://github.com/otymko/acc-export/releases. Положить по адресу "C:/Sonar/bin/acc-export.epf".

Скачать последний релиз BSL-LS c https://github.com/1c-syntax/bsl-language-server/releases.

Положить по адресу "C:/Sonar/bin/bsl-language-server.jar".

Скачать 11 JDK https://jdk.java.net/archive/. Положить по адресу “C:/Sonar/jdk”. Полный путь к java выглядит вот так "C:/Sonar/jdk/bin/java.exe". Прописывать в переменные среды не надо, а то будет конфликт с 8ой джавой для едт.

Установить oscript и библиотеки

 

http://oscript.io/

choco install onescript-cli

Скачать и распаковать архив из приложенных файлов и запустить install.bat. Будут установлены приложения vanessa-runner, perf-measurements-to-cover, stebi и библиотека v8metadata-reader.

Все приложения доступны на гитхабе.

https://github.com/Stepa86/stebi

https://github.com/Stepa86/v8metadata-reader

https://github.com/Stepa86/perf-measurements-to-cover

Установить и настроить АПК

 

https://releases.1c.ru/project/ACC

Установить нужно в каталог “C:/Sonar/ACC” и создать пользователя “Admin” без пароля.

Создать репозиторий для дженкинсфайла

 

Форкнуть или скопировать репозиторий https://github.com/Stepa86/jenkins-pipeline-1C-to-sonar. Донастроить под себя при необходимости. Адрес репозитория с дженкинсфайлом понадобится позднее.

Настроить оповещения

 

В моем дженкинсфайле используется плагин “RocketChat Notifier” для отправки оповещений в рокет.чат. Если вы не используете в работе рокет.чат, то нужно самостоятельно найти и скачать подходящий вам плагин и заменить в дженкинсфайле строки “rocketSend” на вызов своего плагина.

Добавление проекта к проверке

Настроить ГитКонвертор

 

Настроить и запустить конвертацию хранилища по инструкции от ГитКонвертора.

Для работы скрипта по вырезанию файлов на поддержке нужна информация о поддержке. Поэтому в настройках нужно снять флаг “Удалять конфигурации поставщиков”.

После снятия флага начнет выгружаться информация о поддержке и cf-файлы конфигураций, cf-файлы нужно добавить в “.gitignore”.

Значения в зеленых полях потребуются в дальнейшем.

Обязательно каталог выгрузки в репозиторий должен быть на латинице. Если там кириллица - Дженкинс очень непредсказуемо себя ведет.

Настроить АПК

 

Запуск проверки АПК ищет конфигурацию по наименованию и использует ее.

Создать новую конфигурацию.

В наименование указать “Каталог выгрузки в репозитории” из ГитКонвертора.

В “Путь к источнику проверки” указать “Адрес хранилища”. Заполнить пользователя и его пароль для доступа к хранилища.

Важно, чтобы пользователи хранилища для ГитКонвертора и АПК были разными. Их никто не должен больше использовать. Иначе это приведет к конфликтам получения изменений из хранилища.

Дальше нужно настроить список проверяемых требований (выбрать все, например) и исключений, проверить подключение к базе после записи и закрыть АПК.

Стоит запустить полную проверку вручную из АПК, чтобы убедится в работоспособности.

Создание первого конвейера

 

Перейти в веб-интерфейс Дженкинса. По умолчанию это http://localhost:8080

Слева сверху “Создать Item”.

Имя Item'а - произвольное. Лишь бы было понятно что это. Лучше латиницей и без пробелов.

Тыкнуть на Pipline и нажать Ок внизу.

Откроется конфигурация джоба.

Перейти к разделу Pipline.

 

В Definition выбрать Pipline script from SCM.

В SCM - Git.

Repository URL - адрес репозитория с дженкинсфайлом. В моем случае это https://github.com/Stepa86/jenkins-pipeline-1C-to-sonar.git

В Credentials добавить/выбрать параметры доступа к этому репозиторию.

Стоит сразу создать Credentials для доступа к репозиторию с исходниками конфигурации и скопировать его ID. Он понадобится чуть позднее.

В Script Path - путь к дженкинсфайлу в репозитории. В моем случае это “Sonar/Jenkinsfile”.

Сохранить. И в окне джоба слева нажать на “Собрать сейчас”.

Если все настроено верно, то отработает первый шаг - получение дженкинсфайла, а потом сразу все упадет.

Указать параметры запуска конвейера

 

Обновить страницу джоба. Слева сверху кнопка “Собрать сейчас” превратится в “Собрать с параметрами”. Нажать на нее. Откроется окно ввода параметров.

 

PROJECT_NAME - ключ проекта. Именно под этим именем будет создан проект в сонаре. Именно по нему выполняется поиск конфигурации в АПК. Сюда вписываем наименование конфигурации АПК. Она же - Каталог выгрузки в репозитории”.

git_repo_url - адрес репозитория git из ГитКонвертора.

git_repo_branch - имя ветки в репозитории.

sonar_catalog - каталог инструментов C:/Sonar/

PROPERTIES_CATALOG - каталог в проекте с переопределенными настройками.

ACC_check - Запуск проверки АПК перед выгрузкой ошибок.

ACC_recreateProject - Пересоздание конфигурации в АПК. Сбрасывает кэш проверки. АПК работает дольше, но все данные переполучаются заново. Актуально, когда ошибка исправлена, а АПК этого исправления “не увидела” из-за кэша.

STEBI_SETTINGS - путь к джсон файлу с переопределением ошибок. Может быть как общим из репозитория с дженкинсфайлом, так и частным для проекта.

jenkinsAgent - имя ноды на которой нужно запускать проверку. Критично к регистру.

EDT_VERSION - версия едт, которую нужно использовать.

perf_catalog - каталог с файлами замера производительности .pff. По ним создается файл с данными покрытия.

git_credentials_Id - ID Credentials для доступа к репозиторию.

rocket_channel - имя канала для отправки оповещений.

После указания всех параметров - Собрать.

Если упало на каком-то шаге. По логам определить и устранить проблему и еще раз нажать на “Собрать с параметрами”.

Если проверка АПК отработала и в конфигурации больше ничего не менялось, то для отладки и ускорения процесса можно перезапускать конвейер со снятой галкой ACC_check.

Из джобы можно перейти в проект сонара и посмотреть, что ошибки загружены.

Создание второго конвейера

 

Аналогично созданию конвейера нужно нажать на Создать Item, ввести имя, тыкнуть в Pipeline и внизу ввести имя существующего для копирования из него настроек.

В открывшемся окне джобы нужно поменять параметры на требуемые и запустить.

Расчет покрытия тестами

 

Адекватного способа рассчитать покрытие тестами в 1С на данный момент нет. Я костылю так:

Разворачиваю тестовую базу загрузкой из хранилища.

Захожу в конфигуратор. Из него запускаю менеджер тестирования под отладкой.

В менеджере тестирования подключаю тест-клиента под отладкой.

В конфигураторе включаю замеры.

Запускаю выполнение тестов.

Когда все тесты завершились, сохраняю все замеры в спец. папку, предварительно ее очистив. Эту спец. папку указываю в параметрах конвейера.

 

UPD

Все приложения из архива доступны на гитхабе.

https://github.com/Stepa86/stebi

https://github.com/Stepa86/v8metadata-reader

https://github.com/Stepa86/perf-measurements-to-cover

 

Sonar SonarQube BSL АПК ACC качество Jenkins Pipeline Конвейер ГитКонвертор EDT Oscript

См. также

SALE! 15%

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

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

10000 руб.

02.09.2020    159275    872    399    

861

SALE! 15%

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

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

8400 7140 руб.

20.08.2024    7714    55    22    

66

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

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

9360 руб.

17.05.2024    23387    68    45    

117

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10397    36    20    

61

SALE! 15%

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

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

22200 19980 руб.

06.10.2023    15374    35    7    

70

SALE! 35%

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

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

4800 3120 руб.

14.01.2013    187949    1138    0    

912

SALE! 15%

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

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

15000 12750 руб.

07.10.2021    17295    6    32    

42

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

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

1800 руб.

21.02.2023    7678    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vlad.frost 186 04.09.19 08:18 Сейчас в теме
Лайк поставил, скрипты скачал!
2. BlizD 1081 04.09.19 09:04 Сейчас в теме
3. Pr-Mex 136 04.09.19 16:30 Сейчас в теме
4. Yashazz 4790 04.09.19 18:58 Сейчас в теме
Это вообще кто-нибудь использует? Ну вот по-честному, реально, хоть один живой пример известен?
Светлый ум; Hans; Yakud3a; +3 2 Ответить
5. Stepa86 1531 04.09.19 19:00 Сейчас в теме
(4) Мы в нашей компании используем именно этот инструментарий именно в этом виде.
6. Yashazz 4790 04.09.19 19:04 Сейчас в теме
(5) Ну это-то понятно. Сами для себя изобрели и сами мучаетесь. У вас что, миллиардный оборот, конфиги пилите уровня УХ, и сотни кодеров, что понадобились настолько адские ухищрения, как "конвейер", простихосспади, контроля кода? Его и у 1С-то нет)
tsmult; biimmap; Tarlich; Yakud3a; Hans; triviumfan; +6 8 Ответить
7. Stepa86 1531 04.09.19 19:07 Сейчас в теме
(6) И с чего вы взяли, что мы мучаемся? И с чего вы взяли, что это настолько адские ухищрения? С чего вы взяли, что этого нет у самого 1С? Нравится писать говнокод, ну продолжайте писать, чо тут то токсичность выплескивать?
skillman; Artem-B; arti4k; Somebody1; CyberCerber; DmitrySinichnikov; Andreeei; Reaper_1C; troubleshooter; TreeDogNight; drmaxart; A_Max; VasDmi666; kuzyara; Wilka; support; sorb; pavlov_dv; headMade; zeegin; o.nikolaev; +21 1 Ответить
9. Yashazz 4790 04.09.19 19:47 Сейчас в теме
(7) Да просто ни в одной компании я не видел даже просто аудита и контроля кода. Не то что автоматизации этого процесса. Ну то есть на практике не видел, на бумаге-то много чего было. Не окупается, и не работает толком, выглядит красиво и вкусно, а практического выхлопа ноль. А я много чего видел. В основном - жутковатого.

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

Вы на личности-то не переходите. Что есть говнокод - вопрос интересный, и не след полагать говнокодом всё, что не прошло некую верификацию. Насчёт 1С всё элементарно - я это знаю из первых рук, по крайней мере по состоянию на 2016 год. Да гляньте их поделки, сами поймёте)))

А что, качество запросов ваша система тоже проверяет? По заветам Рупасова?)
maksa2005; d4rkmesa; Andreeei; Hans; Hatson; so-quest; Светлый ум; Yakud3a; Soloist; support; +10 Ответить
10. zeegin 117 04.09.19 20:10 Сейчас в теме
(9) Вам очень не повезло с работодателями.
Это используют. Не всегда в таком виде, иногда какие-то компоненты заменяют на другие.

После того, как втягиваешься - не понимаешь как это можно не использовать :)
Попробуйте потратить пару недель своего времени и разобраться. Сложно только по началу и от незнания процессов и инструментов.
arti4k; Артано; CyberCerber; mityushov.vv; YPermitin; ValentinGushchin; A_Max; rystam_atai; Stepa86; pavlov_dv; +10 Ответить
11. Yashazz 4790 04.09.19 20:50 Сейчас в теме
(10) Процессы-то я знаю и теорию знаю. И время тратил, и разбирался. А вот раздолбайство и бардак таковы, что это просто нельзя использовать. Человеческий фактор и энтропия коллективных взаимодействий, искажения связей в больших системах итд - всё это сводит на нет любую красивую теорию. Это как эйджилы всякие использовать - натягивание совы на глобус.
Что касается "иногда какие-то компоненты" - через год попыток использования таких систем в 95% случаев всё сползает в прежний бардак, только "бухгалтерии прибавляется", как в том анекдоте. А дальше отдельно ритуальные телодвижения и отдельно грустная реальность.
so-quest; Andreeei; +2 Ответить
32. kuzyara 2090 06.09.19 06:03 Сейчас в теме
(11) наш пайплайн
Прикрепленные файлы:
44. Hatson 536 21.02.20 12:16 Сейчас в теме
(10)
Вам очень не повезло с работодателями
и
Попробуйте потратить пару недель своего времени и разобраться.
- 5 баллов!

1) На счет работодателей. Возможно есть такие работодатели, которые хотя бы просто готовы применять такие инструменты, даже если на данный момент не применяют. Но их ничтожно мало и такой работодатель скорее всего будет на столько неудобно расположен от моего дома, что я к нему ни за что не поеду - такова "се ля ви")). Рынок труда таков, что обычная компания месяцами будет искать "правильных" и "неговнокодеров", а задачи нужно решать уже сегодня, а лучше вчера.

2) Попробуйте потратить пару недель.... Для этого требуется сила воли, самодисциплина и мощная внутренняя мотивация; часто для этого нужно на 2 недели изменить свой образ жизни - на это вообще способны единицы из тысячи! Это практически то же самое, что сказать какому-нибудь чуваку: "попробуй бросить курить, пить пиво и займись спортом" - да ему и так хорошо! Если Вы так можете, то я пожимаю вам руку, коллега!

3) Видел один раз смешную ситуацию в одной компании: люди делали код-ревью и проверяли (автоматизированно) его на соответствие промышленным стандартам 1С. Всё бы ничего, но код был с огромным количеством технологических ошибок и огромным технологическим долгом. Ни о какой производительности, масштабируемости и гибкости такого кода речи не шло - не все знали, что у вирт. таблиц есть параметры, а уж про упр. блокировки и разницу между [ Запрос.Выполнить.Выгрузить() и Результат.Выбрать() ]и говорить не стоит - зато переменные правильно назывались!

Выводы делайте сами.
tsmult; biimmap; +2 Ответить
12. olegtymko 914 05.09.19 04:27 Сейчас в теме
(9) Мы используем code-review и SonarQube очень в этом помогает.
CSiER; Stepa86; +2 Ответить
13. JohnyDeath 302 05.09.19 07:32 Сейчас в теме
(9)
Да просто ни в одной компании я не видел даже просто аудита и контроля кода. Не то что автоматизации этого процесса.


Возможно потому и не используют, что руками очень сложно-долго-дорого?
zeegin; olegtymko; Stepa86; +3 Ответить
16. VmvLer 05.09.19 13:07 Сейчас в теме
согласен с (9)

не буду отрицать, что кому-то подобный продукт полезен в качестве исключения, но то
это необходимо очень спорно.

даже если разобраться и использовать, все равно, я считаю, что выхлоп мал и есть более простые пути.
17. Stepa86 1531 05.09.19 13:13 Сейчас в теме
(16) В https://infostart.ru/public/1096770/ я как раз писал кому это не надо, кому можно, а кому обязательно.

И очень интересно услышать про более простые пути в повышении качества кода, чем использование статических анализаторов. Про двойное чтение кода и просто писать без ошибок можно не рассказывать.
19. olegtymko 914 05.09.19 13:22 Сейчас в теме
(16) А какие вы более простые пути используете?
21. VmvLer 05.09.19 13:25 Сейчас в теме
22. Stepa86 1531 05.09.19 13:35 Сейчас в теме
(21) Эффект Да́ннинга — Крю́гера — метакогнитивное искажение, которое заключается в том, что люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации[1]. Это приводит к возникновению у них завышенных представлений о собственных способностях, в то время как действительно высококвалифицированные люди, наоборот, склонны занижать оценку своих способностей и страдать недостаточной уверенностью в своих силах, считая других более компетентными. Таким образом, менее компетентные люди в целом имеют более высокое мнение о собственных способностях, чем это свойственно людям компетентным (которые к тому же склонны предполагать, что окружающие оценивают их способности так же низко, как и они сами).
Somebody1; CyberCerber; hawkmax; DmitrySinichnikov; A1WEB; ValentinGushchin; Wilka; zeegin; +8 Ответить
24. VmvLer 05.09.19 15:28 Сейчас в теме
(22) надеюсь вы это взяли из конспекта своих лекций.
в приличных вузах это излагают по предмету "инженерной психологии".

ну а по факту что?

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

молодой человек, никто не умаляет вашего таланта и мощи нетленки, но
если вы не научитесь управлять эмоциями и видеть главное, то не все
хорошо будет "в датском королевстве".

смысл мною сказанного станет понятен спустя 10...20 лет, если
в то время хоть что-то будет иметь толику смысла.
baha2772; Yakud3a; +2 2 Ответить
23. olegtymko 914 05.09.19 13:39 Сейчас в теме
(21) Вот и поговорили. Код наверное сразу без ошибок и тех. долга пишется и в проде проблем не бывает)
VasDmi666; JohnyDeath; +2 Ответить
33. Soloist 545 06.09.19 10:14 Сейчас в теме
(19) Есть, например Booking практически не тестирует. Очень интересный подход изложен в статье https://bronevichok.ru/blog/2015/04/26/engineering-at-booking.com.html
34. Stepa86 1531 06.09.19 10:23 Сейчас в теме
(33) Не увидел в статье, что они не пользуются статистическими анализаторами кода. Да, тестами не занимаются отдельно - это головная боль каждого конкретного разработчика, и они сами как могут тестируют. Но про использование/не использование стат.анализа ни слова.
35. Soloist 545 06.09.19 11:28 Сейчас в теме
(34) Да, не совсем корректный мой ответ. Просто из-за описанной сложности внедрения такого механизма сразу опускаются руки и ищутся альтернативные, или оправдывающие варианты. Для тестирования в некоторых случаях это можно придумать. А вот с остальным хочется такой конвейер, но сил не хватает на подъем всего этого. Ведь так много надо знать.

Механизм крутой. И я желаю сообществу oscript дальнейшего развития всего этого, чтобы снизить планку сложности вхождения в этот мир автоматизации.
31. JohnyDeath 302 05.09.19 16:28 Сейчас в теме
(16)
и есть более простые пути.

Какие?
15. kuzyara 2090 05.09.19 12:59 Сейчас в теме
(4) Используем, используем.
26. stepan96 74 05.09.19 15:59 Сейчас в теме
(4) Мы сейчас разворачиваем у себя. И в продуктив выводим. И статический анализ и автотесты
Labotamy; +1 Ответить
8. o.nikolaev 216 04.09.19 19:15 Сейчас в теме
Да это просто праздник какой-то! (Карабас Барабас) Именины сердца!
14. JohnyDeath 302 05.09.19 07:33 Сейчас в теме
18. Stepa86 1531 05.09.19 13:17 Сейчас в теме
Удивляют меня те, кто выбрал профессию по автоматизации кому-то чего-то, но при этом против автоматизации своей деятельности
Student1C; CyberCerber; mirco; A_Max; Wilka; Сергей Осипенко; zeegin; BlizD; VasDmi666; spy87; olegtymko; JohnyDeath; +12 Ответить
20. VmvLer 05.09.19 13:24 Сейчас в теме
(18) На смену удивлению приходит понимание бесполезности(иногда вредности) многих вещей когда опыт автоматизации велик.

будем философствовать с разрушителем легенд или вернемся к пиару вашей нетленки "без шуму и пыли"?
25. stepan96 74 05.09.19 15:57 Сейчас в теме
Антон, а вот это можно поподробнее: "В менеджере тестирования подключаю тест-клиента под отладкой." Тоже больной вопрос по расчету покрытия
27. Stepa86 1531 05.09.19 16:01 Сейчас в теме
(25) У меня вот так в джсоне для VA

"КлиентыТестирования": [
	{
        "Имя": "Этот клиент",
        "ПутьКИнфобазе": "/FC:/Bases/test",
        "ДопПараметры": "/DEBUG -http -attach /DEBUGGERURL\"http://localhost:1560\"",
        "ТипКлиента": "Тонкий",
        "ИмяКомпьютера": "localhost",
        "ПортЗапускаТестКлиента": "1538",
        "АктивизироватьСтроку": "Истина"
    }
	]
Показать


но первое время можно и вручную в тест-клиенте разрешить отладку и подключить из конфигуратора
28. stepan96 74 05.09.19 16:06 Сейчас в теме
(27) Антон, давай вот вообще для полного дебила (ну то есть для меня)
1. Я запускаю конфигуратор, в нем в настроках ставлю запуск предприятия в режиме тест менеджера и запускаю
2. Соответственно предприятие в режиме тест менеджера, а дальше?

Я если отдельно запускаю тест-клиент, я в предметах отладки не вижу этот сеанс и не могу подключиться
29. Stepa86 1531 05.09.19 16:12 Сейчас в теме
(28) 3. На вкладке "Клиенты тестирования" нажимаешь на подключить клиента тестирования.
4. В открывшемся клиенте сервис - параметры - Отладка в текущем сеансе - Разрешена и вид отладки
5. В конфигураторе Отладка - подключение. Если клиент не подключился, то сверху будут сеансы, если подключился, то в нижней таблице будут и сеанс от менеджера и сеанс от клиента

Если запускать с указанием в доп параметрах "/DEBUG -http -attach /DEBUGGERURL\"http://localhost:1560\"", то эти шаги должны выполнится сами, но иногда отладка не подцепляется
Светлый ум; +1 Ответить
30. stepan96 74 05.09.19 16:15 Сейчас в теме
(29) Теперь понял! Спасибо!
36. Ndochp 103 27.11.19 16:57 Сейчас в теме
Зачистка подзамочных ошибок делается скриптами (сканим все, потом выкидываем лишнее), или ключами запуска?

У меня не дженкинс и пока не нужен EDT, стоит качать?
37. Stepa86 1531 27.11.19 17:35 Сейчас в теме
(36) Замечания по объектам с замками вычищаются скриптом из джсонов вот тут https://github.com/Stepa86/jenkins-pipeline-1C-to-sonar/blob/master/Sonar/Jenkinsfile#L180

Внутри архива - скрипт по конвертации ошибок из EDT в джсон, понятный для плагина сонара, скрипт по вырезанию замечаний с замками и скрипт по получению покрытия. Если не понятно что это и зачем - лучше не качать
38. Olenevod 33 28.01.20 17:48 Сейчас в теме
Всем привет. Может поможет кто..
Почему при выполнении "Собрать сейчас" не появляется потом "собрать с параметрами"?

Jenkins ver. 2.204.1
39. Stepa86 1531 29.01.20 14:13 Сейчас в теме
(38) Кнопка "Собрать сейчас" появляется после импорта дженкинсфайла из гита и перенастройки задания в соответствии с параметрами в файле.

Кнопка не появляется либо изза того, что импорта еще не было - нужно в первый раз запустить и дождаться ошибки, либо изза того, что импорт не прошел. Например, когда нет прав на репозиторий или указаны не правильные кредишнл для подключения, или неправильно указан репо, или когда нет интернета. Это все в логах можно посмотреть.
Olenevod; +1 Ответить
40. Olenevod 33 29.01.20 14:41 Сейчас в теме
41. amoarok 99 13.02.20 11:10 Сейчас в теме
Инструмент интересный. Но есть вопрос. Как в сонаре при расчёте процента покрытия не учитывать код "под замком"?
42. Stepa86 1531 13.02.20 11:19 Сейчас в теме
(41) При конвертации замеров в покрытие уже учитываются модули на замке и строки таких модулей не добавляются "к покрытию".
43. amoarok 99 13.02.20 12:20 Сейчас в теме
(42) и правда, всё работает. Это у меня в сонаре было включено заполнение строк "к покрытию" через 1C (BSL) Community Plugin. Выключил - цифры стали похожи на ожидаемые. Спасибо!
45. fox06 59 22.09.20 19:10 Сейчас в теме
Вопрос. В последних версиях плагина bsl для Сонара, добавили поддержку правил ACC. В документации к плагину скудно описана настройка всего этого дела. Как я понял, при выгрузке из ACC необходимо указывать errorTitle=code, что бы при загрузке в Сонар производилось сопоставление правил в Сонаре и правил в загружаемом файле из ACC и если все нормально, то ошибки в сонаре отображались бы достаточно развернуто, однако никаким образом этого сделать не удалось. Данные выгруженные из ACC хоть в формате generic, хоть в jasonreport никак не хотят сопоставлятся с библиотекой правил из плагина (само собой пробовал запускать Сканер с ключом включающем внутренний анализатор плагина sonar.bsl.languageserver.enabled=true и sonar.bsl.acc.enable=true).
46. nixel 1433 16.11.20 16:53 Сейчас в теме
(45) если еще актуально, приходите к нам в телегу, *bsl-language-server. подскажем.
Оставьте свое сообщение