SilverBulleter's, LLC
1.04K subscribers
151 photos
1 video
4 files
174 links
Официальный канал команды "Серебряная Пуля", www.silverbulleters.org

Чат для общения сообщества https://t.me/silvernation
Download Telegram
❗️Технические работы в личном кабинете

На сервисе app.silverbulleters.org проводятся непредвиденные технические работы. Планируемое время завершения работ - 26.02.2021.
По вопросам скачивания дистрибутивов писать на b2b@silverbulleters.org или в Интерком.
🖥 Стрим: Инженерные практики в OpenSource на GitHub.
Часть III - Проект EDT

Заключительная часть автоматизации рутинных действий на GitHub. На последнем стриме из цикла разберем:
* Конвертацию исходников в формат конфигуратора
* Запуск модульных и поведенческих тестов
* Статический анализ в SonarQube
* Плагин SilverLint для анализа кода прямо из EDT

Приходите на стрим 04.03.2021 (19:30 по МСК) на нашем канале YouTube.
И снова на связи «Серебряная Пуля»! Мы решили поехать в Санкт-Петербург на Infostart Event 2021, чтобы встретиться со всеми вами и рассказать о множестве интересных идей и полезных проектов:

Артем Кузнецов расскажет как можно обновлять доработанные конфигурации и получать от этого удовольствие.

Жданов Руслан приоткроет завесу использования кластера Kubernetes для платформы 1С.

Олег Тымко будет делать публичное вскрытие статического анализатора кода 1С.

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

Подробнее о конференции вы можете узнать на сайте Infostart
🖥 Стрим: Инженерные практики в OpenSource на GitHub.
Часть III - Проект EDT

Сегодня мы проведем завершающий стрим из цикла автоматизации рутинных действий с GitHub Actions.
Ждем на канале 👉 в 19:30 по МСК!
☄️ Плагин 1C (BSL) Plugin для SonarQube

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

Но пока хотим поделиться небольшим инсайдом того, над чем мы активно работаем – мы учим наш плагин строить графы потока управления (CFG), что в будущем позволит делать ещё более умные и сложные диагностики.

Например, анализировать тексты запросов, которые собираются динамически.
⚙️ Релиз 2021.2 плагина 1C (BSL) Plugin для SonarQube

Новый релиз - новые возможности!

Главная новость релиза - мы выкинули старый и некрасивый парсер документирующих комментариев и сделали новый - красивый и быстрый. Теперь диагностики работающие с описаниями методов будут более точными и научатся ловить ещё более хитрые случаи.

Не менее важная новость - мы научили наш плагин проверять макеты СКД. Теперь качество ваших запросов в макетах СКД будет ещё выше.

В остальном, как обычно, новые проверки (целых 11 штук), исправления в старых. Полной перечень изменений как всегда читать здесь 👉 📄История релизов
⚙️ Релиз 1.7.0 библиотеки Vanessa.Usher для Jenkins

Новое в версии

- В отчет Allure добавлено разделение по категориям для синтаксической проверки, TDD/BDD-тестов

Изменения

- Отладка sonar-scanner через опцию SONAR_DEBUG
- Запуск сборки релиза контролируется через опцию PROCEDURE_BUILD_RELEASE

Исправление ошибок

- Для этапа синтаксической проверки исправлен путь к отчету Allure
🛠 Релиз v1.1.0.0 внешней компоненты взаимодействия с брокерами сообщений по протоколу Apache Kafka для платформы 1С

Что нового?

* Добавлена возможность добавления и чтения заголовков сообщений.
* Добавлена возможность изменять смещение для группы потребителей.
* Добавлено логирование.
* Обновлена зависимость librdkafka с 1.5.3 до 1.6.0
☄️ Плагин 1C (BSL) Plugin для SonarQube
Продолжаем делиться новостями по поводу внедрения CFG в наш плагин.

Рады сообщить, что мы научили строить графы управления по всем основным выражениям 1С, в рамках области (scope) метода и теперь начинаем переделывать старые диагностики под новый механизм. Об одной из таких диагностик мы сегодня расскажем тут https://telegra.ph/Razvitie-mehanizma-CFG-04-27
⚙️ Релиз 2021.3 плагина 1C (BSL) Plugin для SonarQube

Весенний май — традиционное время для шашлыков и субботников.

Наш релиз не стал исключением, мы скорректировали поведение 11 проверок, теперь они стали еще быстрее, точнее, производительнее. Спасибо вам за обратную связь, это очень ценно для нас.

Мы научили плагин корректно разбирать код с расширяющими конструкциями #Вставка, #КонецВставки, #Удаление, #КонецУдаления.

Добавили 4 новых диагностики, про которые можно почитать в документации.

Наконец, последняя, но не по важности новая фича — это релиз CFG. Он строится абсолютно по всем BSL файлам, минимально влияет на производительность (мы замеряли, честно) и дал новую жизнь проверке "Функция должна заканчиваться возвратом", о чем мы писали ранее.

Разумеется, данная проверка — только начало. Те проверки, которые можно улучшить с помощью CFG, мы обязательно улучшим в следующих релизах, те, которые нельзя — улучшим с помощью DFA.

Полной перечень изменений, как всегда, читать
здесь 👉 📄История релизов
🛠 Релиз v1.2.0.0 внешней компоненты Apache Kafka для платформы 1С

Что нового?

* Добавлена поддержка работы с двоичными данными
* Библиотека librdkafka обновлена до 1.7.0

Хотите знать больше о компоненте? Вам 👉 сюда
⚙️Новый релиз плагина 1C (BSL) Plugin для SonarQube под номером 2021.4.

Читать здесь 👉 https://blog.silverbulleters.org/rieliz-2021-4-plaghina-1c-bsl-plugin-dlia-sonarqube/
☄️ Плагин 1C (BSL) Plugin для SonarQube

С релизом 2021.5 мы научим наш плагин 1C выводить типы локальных переменных в вашем коде, чтобы отлавливать такие "замечательные" ошибки.

Чуть подробнее в нашем ➜ блоге.
⚙️ Релиз 2021.5 плагина 1C (BSL) Plugin для SonarQube

Июль подходит к концу и мы, как и обещали, выпускаем новый релиз плагина!

Что нового?

➡️ Мы научили плагин предрасчитывать типы переменных, но пока только в рамках модуля локально (не начало ли пути к DFA часом?)

➡️ Выпустили 9 полезных проверок, которые разнообразят ваши code-review

Полный перечень изменений ➜ docs.checkbsl.org

P.S. Интересно, сколько вы сможете найти критических ошибок при помощи нового правила Использование зарезервированных имен? 🧐
В продолжении предыдущего поста. Как часто подобные ошибки портили вам жизнь/нервы? 😁
☄️ Плагин 1C (BSL) Plugin для SonarQube. Свои проверки кода на языке OneScript

Пока новый релиз плагина для SonarQube в разработке, мы хотим поделиться "небольшим" инсайдом.

Начнем с вопроса - как писать свои проверки качества кода 1С?

У нас часто спрашивали, можно ли написать свою проверку кода на "родном" языке 1С. Зачем? Например, чтобы найти использования запрещенных методов (согласно регламенту разработки).

На тот момент было всего несколько "реальных" возможностей:

* Написать проверку в 1С: АПК
* Написать свой фреймворк на 1С / OneScript с нуля

Но был еще один вариант - подключить скрипты на OneScript к ядру статического анализа (который написан на Java). Это позволило бы использовать существующие возможности плагина.

Так появился проект JOneS у Олега Тымко, который представляет собой реализацию OneScript написанную на Java.

Это позволило нам реализовать возможность написания собственных проверок кода 1С на OneScript и добавить их в наш плагин для SonarQube.

Как вам пример проверки кода?😁
☄️ Плагин 1C (BSL) Plugin для SonarQube. Свои проверки кода на языке OneScript

Что касается картинок:
* слева - замечание в SonarQube, созданное с помощью проверки на OneScript
* справа - тоже самое, но в VSCode с через SonarLint.
☄️ Плагин 1C (BSL) Plugin для SonarQube.

Проверка существования метаданных в запросах 1С

Мы не так давно анализировали конфигурацию 1С и вот что смогли найти. На скриншоте типичная ошибка при внедрении новой подсистемы в проект. Разработчики внедряли подсистему CRM, но забыли перенести справочник СтавкаНДС.

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

Как этого можно было избежать?

* Тестировать внедренную подсистему более тщательно (с помощью Vanessa ADD / Vanessa Automation)
* Использовать расширенную проверку конфигурации Конфигуратор не умеет это диагностировать
* Использовать статический анализ кода SonarQube + 1C (BSL) Plugin