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

29.12.19

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

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

Скачать файлы

Наименование Файл Версия Размер
Скрипты для работы конвейера:
.zip 35,44Kb
38
.zip 35,44Kb 38 Скачать

Про управление качеством кода - Управление техническим долгом - Концепция 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! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

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

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

13000 10400 руб.

02.09.2020    122176    670    389    

714

SALE! 25%

Infostart PrintWizard

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

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

18000 15300 руб.

06.10.2023    7296    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

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

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

10000 8000 руб.

10.11.2023    3543    11    1    

34

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177757    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

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

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99348    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18116    6    8    

39

1С HTML Шаблоны / HTML Templates

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

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28110    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23604    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vlad.frost 186 04.09.19 08:18 Сейчас в теме
Лайк поставил, скрипты скачал!
2. BlizD 1024 04.09.19 09:04 Сейчас в теме
3. Pr-Mex 136 04.09.19 16:30 Сейчас в теме
4. Yashazz 4709 04.09.19 18:58 Сейчас в теме
Это вообще кто-нибудь использует? Ну вот по-честному, реально, хоть один живой пример известен?
Hans; Yakud3a; +2 2 Ответить
5. Stepa86 1521 04.09.19 19:00 Сейчас в теме
(4) Мы в нашей компании используем именно этот инструментарий именно в этом виде.
6. Yashazz 4709 04.09.19 19:04 Сейчас в теме
(5) Ну это-то понятно. Сами для себя изобрели и сами мучаетесь. У вас что, миллиардный оборот, конфиги пилите уровня УХ, и сотни кодеров, что понадобились настолько адские ухищрения, как "конвейер", простихосспади, контроля кода? Его и у 1С-то нет)
biimmap; Tarlich; Yakud3a; Hans; triviumfan; +5 8 Ответить
7. Stepa86 1521 04.09.19 19:07 Сейчас в теме
(6) И с чего вы взяли, что мы мучаемся? И с чего вы взяли, что это настолько адские ухищрения? С чего вы взяли, что этого нет у самого 1С? Нравится писать говнокод, ну продолжайте писать, чо тут то токсичность выплескивать?
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; +20 1 Ответить
9. Yashazz 4709 04.09.19 19:47 Сейчас в теме
(7) Да просто ни в одной компании я не видел даже просто аудита и контроля кода. Не то что автоматизации этого процесса. Ну то есть на практике не видел, на бумаге-то много чего было. Не окупается, и не работает толком, выглядит красиво и вкусно, а практического выхлопа ноль. А я много чего видел. В основном - жутковатого.

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

смысл мною сказанного станет понятен спустя 10...20 лет, если
в то время хоть что-то будет иметь толику смысла.
baha2772; Yakud3a; +2 2 Ответить
23. olegtymko 889 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 1521 06.09.19 10:23 Сейчас в теме
(33) Не увидел в статье, что они не пользуются статистическими анализаторами кода. Да, тестами не занимаются отдельно - это головная боль каждого конкретного разработчика, и они сами как могут тестируют. Но про использование/не использование стат.анализа ни слова.
35. Soloist 545 06.09.19 11:28 Сейчас в теме
(34) Да, не совсем корректный мой ответ. Просто из-за описанной сложности внедрения такого механизма сразу опускаются руки и ищутся альтернативные, или оправдывающие варианты. Для тестирования в некоторых случаях это можно придумать. А вот с остальным хочется такой конвейер, но сил не хватает на подъем всего этого. Ведь так много надо знать.

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

Какие?
15. kuzyara 1900 05.09.19 12:59 Сейчас в теме
(4) Используем, используем.
26. stepan96 72 05.09.19 15:59 Сейчас в теме
(4) Мы сейчас разворачиваем у себя. И в продуктив выводим. И статический анализ и автотесты
Labotamy; +1 Ответить
8. o.nikolaev 211 04.09.19 19:15 Сейчас в теме
Да это просто праздник какой-то! (Карабас Барабас) Именины сердца!
14. JohnyDeath 301 05.09.19 07:33 Сейчас в теме
18. Stepa86 1521 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 72 05.09.19 15:57 Сейчас в теме
Антон, а вот это можно поподробнее: "В менеджере тестирования подключаю тест-клиента под отладкой." Тоже больной вопрос по расчету покрытия
27. Stepa86 1521 05.09.19 16:01 Сейчас в теме
(25) У меня вот так в джсоне для VA

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


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

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

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

У меня не дженкинс и пока не нужен EDT, стоит качать?
37. Stepa86 1521 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 1521 29.01.20 14:13 Сейчас в теме
(38) Кнопка "Собрать сейчас" появляется после импорта дженкинсфайла из гита и перенастройки задания в соответствии с параметрами в файле.

Кнопка не появляется либо изза того, что импорта еще не было - нужно в первый раз запустить и дождаться ошибки, либо изза того, что импорт не прошел. Например, когда нет прав на репозиторий или указаны не правильные кредишнл для подключения, или неправильно указан репо, или когда нет интернета. Это все в логах можно посмотреть.
Olenevod; +1 Ответить
40. Olenevod 33 29.01.20 14:41 Сейчас в теме
41. amoarok 98 13.02.20 11:10 Сейчас в теме
Инструмент интересный. Но есть вопрос. Как в сонаре при расчёте процента покрытия не учитывать код "под замком"?
42. Stepa86 1521 13.02.20 11:19 Сейчас в теме
(41) При конвертации замеров в покрытие уже учитываются модули на замке и строки таких модулей не добавляются "к покрытию".
43. amoarok 98 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 1403 16.11.20 16:53 Сейчас в теме
(45) если еще актуально, приходите к нам в телегу, *bsl-language-server. подскажем.
Оставьте свое сообщение