Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Правило "Обработчик регламентного задания" - ГОТОВО #2862

Merged
merged 15 commits into from
Nov 3, 2022

Conversation

artbear
Copy link
Contributor

@artbear artbear commented Jul 24, 2022

Описание

  • реализовал правило
  • исправил ошибку в AbstractMetadataDiagnostic - в метод checkMetadata в некоторых случаях попадали метаданные, не заданные фильтром
    • обнаружил при запуске анализа правила на БСП 3.1 через ком.строку
  • подключил mdclasses 0.10.2

Связанные задачи

Closes #2861

Чеклист

Общие

  • Ветка PR обновлена из develop
  • Отладочные, закомментированные и прочие, не имеющие смысла участки кода удалены
  • Изменения покрыты тестами
  • Обязательные действия перед коммитом выполнены (запускал команду gradlew precommit)

Для диагностик

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

Дополнительно

@artbear
Copy link
Contributor Author

artbear commented Jul 24, 2022

@nixel2007 все тесты прошли, только шаг Sentry упал. ИМХО не по моей вине )

Error: Environment variable SENTRY_ORG is missing an organization slug

https://github.com/artbear/bsl-language-server/runs/7487025826?check_suite_focus=true

@nixel2007
Copy link
Member

Да, там надо gatekeeper подключить

@artbear
Copy link
Contributor Author

artbear commented Jul 24, 2022

  • исправил ошибку в AbstractMetadataDiagnostic - в метод checkMetadata в некоторых случаях попадали метаданные, не заданные фильтром
    • обнаружил при запуске анализа правила на БСП 3.1 через ком.строку

@sonarcloud
Copy link

sonarcloud bot commented Jul 24, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

100.0% 100.0% Coverage
0.0% 0.0% Duplication

@artbear
Copy link
Contributor Author

artbear commented Jul 24, 2022

Правило готово.

Проверено на БСП 3.1 и КА 2.4

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

image

@artbear
Copy link
Contributor Author

artbear commented Jul 24, 2022

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

@nixel2007
Copy link
Member

nixel2007 commented Jul 25, 2022

Я бы подождал/сделал доработки в mdclasses. Фпшить на ровном месте не хочется.

@artbear
Copy link
Contributor Author

artbear commented Jul 25, 2022

Я бы подождал/сделал доработки в mdclasses. Фпшить на ровном месте не хочется.

зачем затягивать с полезным правилом?

давай его смержим, а уже дальше доработаем.

в крайнем случае, могу сделать настройку для включения\отключения проверки на параметры, чтобы не было ложных ФП.

@nixel2007
Copy link
Member

Добавить одно поле в mdclasses - это не затягивать.

@artbear
Copy link
Contributor Author

artbear commented Jul 25, 2022

Добавить одно поле в mdclasses - это не затягивать.

кто и когда его добавит? )

@artbear
Copy link
Contributor Author

artbear commented Jul 25, 2022

Добавить одно поле в mdclasses - это не затягивать.

кто и когда его добавит? )

ну и самое главное - когда выйдет релиз с поддержкой этой фичи уже после вливания МР с доработкой?

@theshadowco сможешь оперативно выпустить релиз , если я сделаю доработку?

@artbear
Copy link
Contributor Author

artbear commented Jul 25, 2022

@nixel2007 @theshadowco я реализовал поддержку необходимых атрибутов регл.заданий

смотрите ПР 1c-syntax/mdclasses#364

@theshadowco
Copy link
Member

@theshadowco
Copy link
Member

@artbear
Точнее https://github.com/1c-syntax/mdclasses/releases/tag/v0.10.2 ибо прошлая реализация была с ошибкой и я ХЗ как тебе это удалось

уточнил проверку параметров для предопределенных регл.заданий
private void checkHandlerDoubles() {
scheduledJobHandlers.values().stream()
.filter(mdScheduledJobs -> mdScheduledJobs.size() > 1)
.map((List<MDScheduledJob> mdScheduledJobs) -> {

Check warning

Code scanning / QDJVMC

Stream API call chain can be simplified

Can be replaced with 'peek'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сонар считает, что peek опасен. я осознанно оставил здесь текущий код.

@sonarcloud
Copy link

sonarcloud bot commented Sep 25, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

98.9% 98.9% Coverage
0.0% 0.0% Duplication

@artbear artbear changed the title Правило "Обработчик регламентного задания" Правило "Обработчик регламентного задания" - ГОТОВО Sep 25, 2022
@artbear
Copy link
Contributor Author

artbear commented Sep 25, 2022

@theshadowco @nixel2007 правило готово. примите его, если нет возражений.

подключил релиз mdclasses 0.10.2
тесты прошли

@sonarcloud
Copy link

sonarcloud bot commented Oct 31, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

98.0% 98.0% Coverage
0.0% 0.0% Duplication

@otymko otymko merged commit 9cc70e5 into 1c-syntax:develop Nov 3, 2022
@artbear artbear deleted the scheduled-jobs branch November 3, 2022 14:32
@artbear
Copy link
Contributor Author

artbear commented Nov 3, 2022

Наконец-то мерж! Большое спасибо @otymko !

@otymko otymko added this to the 0.21.0 milestone Dec 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[NEW] Обработчик регламентного задания
4 participants