Skip to content

ANDR-103: добавила правило detekt#152

Open
Nuriua wants to merge 1 commit into
developfrom
feature/ANDR-103
Open

ANDR-103: добавила правило detekt#152
Nuriua wants to merge 1 commit into
developfrom
feature/ANDR-103

Conversation

@Nuriua

@Nuriua Nuriua commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

🧩 Что сделано:
• Добавила правило NoNotNullAssertionRule (запрет на !!) для detekt

🗂 Затронутые модули:
• detekt-rules

На данный момент проект не собирается!

override val issue = Issue(
"NoNotNullAssertionRule",
Severity.Style,
"Оператор !! запрещён. Используйте безопасные вызовы (.?) или элвис-оператор (?:).",

@Yrun00 Yrun00 Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Предлагаю расширить формулировку - замена !! на ?. или ?: не всегда корректна, потому что в местах с обязательным контрактом это может скрыть ошибку дефолтным значением или невыполнением кода. Лучше явно разрешить fail-fast варианты: requireNotNull для проверки входных аргументов и checkNotNull для проверки внутренних инвариантов/состояния. Тогда мы не теряем понятное падение там, где null означает баг в коде.

(понятно, что текущая подсказка их не запрещает - но может сложиться впечатление что разрешены только ?: и .?)

Или добавить подсказку, что для явных fail-fast вариантов можно использовать ?: error("error text") - мне было не очевидно что ?: возможно применять и таким образом.

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.

2 participants