Size: a a a

Kotlin Community

2020 November 27

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Она не кривая, а просто не всегда уместная. Она показывает, что надо обратить внимание.
но она не может гарантировать, что это действитетельно блокирующий код
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Postovalov
но она не может гарантировать, что это действитетельно блокирующий код
Никто не может
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Она не кривая, а просто не всегда уместная. Она показывает, что надо обратить внимание.
она говорит, что код блокирующий, хотя он им таким скорее всего не является. вы за уши притягиваете
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Никто не может
никто
источник

IP

Iaroslav Postovalov in Kotlin Community
поэтому надо было вводить маркер для блокирующих функций тоже, чтобы больше цветов было
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Postovalov
она говорит, что код блокирующий, хотя он им таким скорее всего не является. вы за уши притягиваете
Она говорит, что код возможно блокирующий потому что внутри вызываются блокирующие методы. Например InputStream::read.
источник

SB

Sergey Barmin in Kotlin Community
а я тут где-то кидал, что если блок обернут в обычный какой-то метод - то она его не видит
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Postovalov
поэтому надо было вводить маркер для блокирующих функций тоже, чтобы больше цветов было
Ну так напиши плагин к компилятору.
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Она говорит, что код возможно блокирующий потому что внутри вызываются блокирующие методы. Например InputStream::read.
а он может читать просто из строчки. и тогда он нифига не блокирует
источник

SB

Sergey Barmin in Kotlin Community
кажется что оно вообще реагирует тупо на throws IOException
источник

AN

Alexander Nozik in Kotlin Community
Только это бессмысленная вещь. Инспекция говорит, что надо обратить внимание. Обращаешь, игнорируешь
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Только это бессмысленная вещь. Инспекция говорит, что надо обратить внимание. Обращаешь, игнорируешь
там формулировка "Inappropriate blocking method call", а не "Possible inappropriate blocking method call"
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Postovalov
там формулировка "Inappropriate blocking method call", а не "Possible inappropriate blocking method call"
Придирасты набежали. Уже много раз обсуждали, что инспекция не идеальная. Но польза в ней все-таки есть.
источник

IP

Iaroslav Postovalov in Kotlin Community
Sergey Barmin
кажется что оно вообще реагирует тупо на throws IOException
в том числе
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Придирасты набежали. Уже много раз обсуждали, что инспекция не идеальная. Но польза в ней все-таки есть.
ну это кто-то обсуждал
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Придирасты набежали. Уже много раз обсуждали, что инспекция не идеальная. Но польза в ней все-таки есть.
а текст инспекции-то все еще вводит в заблуждение
источник

VP

Vladimir Petrakovich in Kotlin Community
Anton Potekhin
Вот такой вопрос. Нужно внутри suspend функции распарсить json.
Пишу:
Moshi.Builder().build().adapter(LoginResponseData::class.java).fromJson(response)

И получаю варнинг Inappropriate blocking method call.
И не пойму как правильно сделать чтобы не получать этот варнинг
Скорее всего, всё уже правильно написано, и надо игнорировать это предупреждение.
Если, конечно, response - это не поток.
источник

AP

Anton Potekhin in Kotlin Community
Vladimir Petrakovich
Скорее всего, всё уже правильно написано, и надо игнорировать это предупреждение.
Если, конечно, response - это не поток.
просто стринга
источник

VP

Vladimir Petrakovich in Kotlin Community
Anton Potekhin
просто стринга
Тогда точно игнорируйте, и не надо никаких withContext(Dispatchers.IO)
источник

AP

Anton Potekhin in Kotlin Community
Vladimir Petrakovich
Тогда точно игнорируйте, и не надо никаких withContext(Dispatchers.IO)
ну оно просто раньше уже завернуто 😉 просто это часть функции
источник