0. olegtymko 333 07.07.19 05:40 Сейчас в теме

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

Управляй техническом долгом проектов 1С с помощью SonarQube. В статье рассматривается пример применения SonarQube при разработке.

Перейти к публикации

Лучшие комментарии
14. vlad.frost 08.07.19 08:08 Сейчас в теме
(3) ну, например, чтобы:
- не настраивать ответственных по объектам метаданных в АПК: SonarQube сам определит ответственного за косячный код по git blame;
- разделить ошибки на legacy и привнесённые в новом коде, старый код не трогать, а сосредоточиться на исправлении новых косяков;
- видеть ошибки АПК в контексте окружающего кода, а не только модуль и номер строки;
- ускорить отображение отчётов;
- получать постоянные ссылки на ошибки, чтобы взять их на контроль и добиться исправления.
SerebanSK; nvv1970; mrXoxot; Kosstikk; JohnyDeath; olegtymko; nixel; Stepa86; +8 Ответить
5. Vladimir Litvinenko 07.07.19 23:46 Сейчас в теме
(4) Вы можете делать коммиты, связанные с обновлением типовых конфигураций (обновлением БСП или переходом на новую версию типовой конфигурации) от имени специально выделенного пользователя. Для этого достаточно перед коммитом указать в качестве e-mail автора служебный или свой второй e-mail. Тогда изменения типовой конфигурации привяжутся не к тем пользователям, под которым ведется регулярная разработка.

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

Если вы пользуетесь АПК, то ситуация будет аналогична: если Вы дорабатываете типовой модуль и хотите его проверить после доработки, то в результаты его проверки попадет и типовой код и Ваш. АПК позволяет фильтровать объекты конфигурации, подлежащие проверке, а не части модулей. При использовании возможностей git как раз появляется возможность проверять только внесенные в модуль изменения в привязке к авторам.
Lucechiaro; SerebanSK; Stepa86; olegtymko; acanta; +5 Ответить
13. olegtymko 333 08.07.19 05:55 Сейчас в теме
(12) На скриншоте тестовый проект, где ~800 ошибок, был проверен только в рамках статьи.

Во вложении метрики самописного проекта не на БСП, над который сейчас ведутся работы по улучшению качества кода (этот же скриншот есть в статье).
Если смотреть тренд количества ошибок, дублирования кода - то их количество со временем уменьшается.
Прикрепленные файлы:
acanta; kuzyara; +2 Ответить
Остальные комментарии
Избранное Подписка Сортировка: Древо
80. olegtymko 333 09.07.19 10:44 Сейчас в теме
(79) ТЗ на исправление недочетов?
81. Labotamy 09.07.19 10:44 Сейчас в теме
(80) ТЗ на внесение новых ошибок в код.
82. olegtymko 333 09.07.19 10:45 Сейчас в теме
83. ogidni 116 09.07.19 10:46 Сейчас в теме
(82) Плагин который пишет ТЗ на Плагин.
86. gubanoff 47 09.07.19 13:01 Сейчас в теме
(0) известна ли разница между бесплатным плагином и разработкой от Серебряной пули?
88. olegtymko 333 09.07.19 15:09 Сейчас в теме
(86) Сравнения нет. Можно почитать о возможностях плагинов:
* Комьюнити плагин - https://github.com/1c-syntax/sonar-bsl-plugin-community и проверки в https://github.com/1c-syntax/bsl-language-server
* от Серебряной пули - https://github.com/silverbulleters/sonar-1c-bsl-public и https://silverbulleters.org/sonarqube
115. artbear 1135 18.07.19 14:12 Сейчас в теме
Для интересующихся разницей между
- SonarQube 1C (BSL) Plugin (https://silverbulleters.org/sonarqube) - платный вариант от Серебряной Пули
- SonarQube 1C (BSL) Community Plugin (https://github.com/1c-syntax/sonar-bsl-plugin-community)

я в (114) коротко написал отличия
116. artbear 1135 18.07.19 14:24 Сейчас в теме
(114) Еще единая документация, где описаны многие нюансы установки/использования СонарКуб, в т.ч. первичный запуск, настройка описания интеграций, настройка для CI
за 70 страниц текста :)
119. artbear 1135 19.07.19 15:16 Сейчас в теме
Обалдеть, кто-то удалил мой пост (114)

Для интересующихся разницей между
- SonarQube 1C (BSL) Plugin (https://silverbulleters.org/sonarqube) - платный вариант от Серебряной Пули
- SonarQube 1C (BSL) Community Plugin (https://github.com/1c-syntax/sonar-bsl-plugin-community)

я в (114) коротко написал отличия
121. olegtymko 333 19.07.19 17:35 Сейчас в теме
(119) Только модераторы форума могут
94. user661226_dmitrynovoselov 10.07.19 07:30 Сейчас в теме
1С: Автоматическое тестирование конфигураций

Поправьте на 1С:Автоматизированная проверка конфигураций
95. olegtymko 333 10.07.19 07:53 Сейчас в теме
96. demon_infernal 31 10.07.19 11:54 Сейчас в теме
Хорошая статья, подробная.
В Сонаркубе меня смущает то, что путь файла показывается не полностью (на скрине обвел красным).
Из имени файла понятно, что это модуль какой то формы. А какой? Это можно было бы узнать по полному пути файла, но я не нашел способа его посмотреть.
Прикрепленные файлы:
97. olegtymko 333 10.07.19 12:01 Сейчас в теме
(96) Да, с этим есть проблемы. По хорошему бы отображать второй путь как в конфигурации 1С.
98. Labotamy 10.07.19 14:10 Сейчас в теме
(96) Под это был плагин для хрома от Валерия Максимова, но по моему он не работает в 7.9 =( Тоже страдаю от этого. Толи в 7.7, толи в 7.8 была кнопка справа вверху в ней было видно. Или сонаровцы починят обратно, или надежда на комюнити.
99. toypaul 65 11.07.19 14:44 Сейчас в теме
Когда читаю статьи про все эти новые технологии, то после прочтения пары абзацев начинает мутить. Можно сказать прям укачивает как на корабле. Все эти - "скачайте там", запустите такой скриптик, тут настройка, там настройка. 90% всякой мути и 10% смысла. Это не претензия автору. Сегодня я хотя бы до смысла дошел.
100. Labotamy 11.07.19 19:03 Сейчас в теме
(99)Может в докладе Никиты Грызлова найдете что то ещё. https://infostart.ru/public/622617/
105. kuzyara 754 12.07.19 07:30 Сейчас в теме
(99)
- юнит-тестирование
- системы контроля версий
- автоматизированные сборки
- код-ревью
- статические анализаторы кода

Добро пожаловать в devops )
129. artbear 1135 23.07.19 12:19 Сейчас в теме
(99) Ты же вроде давно в ИТ и 1С :) неужели не привык?
130. toypaul 65 23.07.19 13:11 Сейчас в теме
(129) меня эти админские штучки никогда не интересовали. у меня математические и визуальные пристрастия :)
106. user1015233 12.07.19 12:46 Сейчас в теме
На данный момент, как я понял, плагин содержит 35 правил. Планируется ли включить все проверки стандартов 1С? Сейчас, получается, необходимо использовать выгрузку из АПК.
107. olegtymko 333 12.07.19 13:14 Сейчас в теме
(106) развитие плагина ведётся, вернее развитие bsl language server. Со временем проверки появятся. Можно предложить здесь https://github.com/1c-syntax/bsl-language-server/issues, а так же принять участие в разработке.
108. Labotamy 12.07.19 13:23 Сейчас в теме
(106) Разумеется планируется. И не только стандартов 1С. Проект OpenSourse идеи и реализации приветствуются. Проверки реализуются не в самом плагине к SonarQube, а в bsl-language-server(см. ссылку в сообщении Олега), в котором проверки это только одна функциональность.
olegtymko; +1 Ответить
109. Unknown31 14.07.19 21:11 Сейчас в теме
Для пробы выгружал демо конфигурация для АПК - обработалась без проблем.
Попробовал демо БСП 3.0.2.314.
INFO: EXECUTION SUCCESS

openjdk-11.0.3-1
sonarqube-7.9.1
sonar-bsl-plugin-community-0.6.0
sonar-scanner-4.0.0.1744-windows


Но фоновое задание данные не обрабатывает, в статусе отображается ошибка:
Подробности Об Ошибке
110. olegtymko 333 15.07.19 03:17 Сейчас в теме
(109) Хватает ли места на диске? Сколько было выставлено памяти sonarqube?
117. vanoono 19.07.19 11:12 Сейчас в теме
Добрый день!
Есть инструкция под linux ? Может есть чат где-нибудь на github?
Второй день бьюсь с тем чтобы просто поднять сервис сонара.
Суть проблемы заключается в том, что после подстановки параметров на те, которые указаны у вас, он перестает стартовать.
В варианте из "коробки" запустить удалось, но дальше не хочет...
118. Labotamy 19.07.19 13:23 Сейчас в теме
(117)В репозитории есть бейджик telegram chat
120. olegtymko 333 19.07.19 17:34 Сейчас в теме
(117) У меня продакшэн крутиться на linux. Пишите в чат. Подскажем в чем проблема)
132. Diversus 1953 23.07.19 21:55 Сейчас в теме
Замечания по выгрузке из АПК (Windows Server):
Обработка не работает и просто выкидывала. После чего я решил посмотреть код и по этому поводу замечания:

1) Лучше указать полный путь к файлам в acc.properties
acc.projectKey=UIT
acc.catalog=C:\sonar\project1c
acc.sources=C:\sonar\project1c\src
acc.check=true
acc.format=reportjson
acc.titleError=codeName

Иначе обработка будет лепить вместо "\" вот так "/" на Windows.
2) Важно! projectKey - это наименование конфигурации в АПК. Об этом тоже стоит сказать.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Руководитель проекта, аналитик, консультант
Санкт-Петербург
По совместительству

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Москва
Полный день