Anonymous Quiz
58%
add(index, element)
8%
set(index, element)
3%
push(index, element)
31%
insert(index, element)
1. Класс должен выполнять только одну задачу или отвечать за один аспект функциональности.
2. Изменения в одной части функционала не должны влиять на другие аспекты.
3. Это упрощает сопровождение, тестирование и повторное использование кода.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2💊1
Anonymous Quiz
15%
checkNotNull
18%
requireNotNull
54%
let
13%
notNull
💊9🤔1
Anonymous Quiz
97%
?.
2%
!!
0%
::
1%
->
Если внутри асинхронного контекста (например, suspend или coroutine), можно использовать:
- withContext(
- runBlocking { блок } — для запуска корутин синхронно (например, в тестах).
- Если обычный код — просто вызвать метод, который возвращает результат.
Важно понимать контекст и избегать блокировок в UI.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
41%
Использование счетчика вызовов и условия в методе
39%
Применение аннотации @LimitedUsage
18%
Создание прокси-класса с контролем доступа
2%
Объявление метода как deprecated
💊8👍1
Anonymous Quiz
4%
1
85%
2
8%
3
2%
0
Forwarded from easyoffer
⏳ Осталось всего 14 дней до завершения краудфандинга
Сейчас самое подходящее время подключиться, если вы ждали или откладывали:
Все, кто поддержат проект сейчас, до релиза, получат:
🚀 PRO-доступ на 1 год по цене месячной подписки
➕ Бета-доступ к EasyOffer 2.0 (конец мая)
👉 Поддержать: https://planeta.ru/campaigns/easyoffer
Сейчас самое подходящее время подключиться, если вы ждали или откладывали:
Все, кто поддержат проект сейчас, до релиза, получат:
🚀 PRO-доступ на 1 год по цене месячной подписки
➕ Бета-доступ к EasyOffer 2.0 (конец мая)
👉 Поддержать: https://planeta.ru/campaigns/easyoffer
Dependency Injection (DI) — это шаблон проектирования, в котором объект получает свои зависимости извне, а не создаёт их сам.
DI:
- Обеспечивает слабую связность компонентов.
- Упрощает тестирование и подмену зависимостей.
- Позволяет легче рефакторить и масштабировать проект.
DI может быть реализован вручную или через фреймворки (Dagger, Koin, Hilt).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Anonymous Quiz
21%
Использовать lateinit var с модификатором internal
38%
Использовать internal val и инициализировать при объявлении
17%
Использовать companion object с internal val
24%
Использовать object с модификатором internal
💊3
Anonymous Quiz
80%
Thread.sleep(millis)
3%
System.wait(millis)
17%
Timer.delay(millis)
1%
Runtime.pause(millis)
Scope получает сигнал отмены через isActive и CancellationException.
1. Проверка isActive – корутина может проверять свое состояние.
2. Бросок CancellationException – если корутина cancel(), все suspend-функции выбросят исключение.
3. Корутине может передаваться Job, который автоматически отменяется с Scope.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Anonymous Quiz
21%
==
65%
===
11%
equals()
3%
is
Anonymous Quiz
4%
kotlin
35%
Kotlin
58%
KOTLIN
3%
kOTLIN
Android предлагает открытую экосистему, гибкость в разработке, большое количество поддерживаемых устройств и мощный инструментарий. Также Android предоставляет свободу кастомизации UI и взаимодействие с низкоуровневыми возможностями системы.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊3🔥1
Forwarded from easyoffer
🎉 Easyoffer 2.0 — самый успешный краудфандинг в истории рунета в категории "Технологии"!
Мы это сделали! За считанные часы после старта, благодаря вашей поддержке, проект не просто стартовал — он взлетел.
💸 Собрано: 2 276 840 рублей
Это не просто цифра — это ваше доверие, ваша вера в идею, и ваша инвестиция в будущее карьеры сотен (а скоро — тысяч) специалистов.
💼 Благодаря этой сумме мы уже:
— Наняли ещё пару разработчиков и аналитиков
— Запустили активный сбор и разметку новых данных
— Ускорили разработку и подняли планку качества
Спасибо каждому, кто поверил в нас на старте! Дальше — только масштабирование и развитие. Мы строим сервис, который станет must-have для всех, кто ищет работу в IT.
👉 Присоединяйтесь сейчас — это только начало.
Мы это сделали! За считанные часы после старта, благодаря вашей поддержке, проект не просто стартовал — он взлетел.
💸 Собрано: 2 276 840 рублей
Это не просто цифра — это ваше доверие, ваша вера в идею, и ваша инвестиция в будущее карьеры сотен (а скоро — тысяч) специалистов.
💼 Благодаря этой сумме мы уже:
— Наняли ещё пару разработчиков и аналитиков
— Запустили активный сбор и разметку новых данных
— Ускорили разработку и подняли планку качества
Спасибо каждому, кто поверил в нас на старте! Дальше — только масштабирование и развитие. Мы строим сервис, который станет must-have для всех, кто ищет работу в IT.
👉 Присоединяйтесь сейчас — это только начало.
👍1
Anonymous Quiz
6%
null
81%
"kotlin"
12%
"k"
1%
"ot"
Anonymous Quiz
60%
Объявив ее как private
23%
Используя internal
0%
Декларируя ее как public
16%
Никак, функции расширения всегда глобальны
👍1
- Handler + HandlerThread — для фоновой обработки сообщений.
- Thread — прямое создание потока.
- ExecutorService — абстракция над пулами потоков.
- AsyncTask (устарел, но всё ещё встречается в старом коде).
- Coroutines — современный и предпочтительный способ.
- RxJava — реактивный подход с переключением потоков.
- WorkManager / JobScheduler — для фоновых задач с условиями (например, только при подключении к сети).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Anonymous Quiz
50%
Определить интерфейс с методом стратегии и классы, реализующие этот интерфейс.
26%
Использовать класс с свойством типа функции и менять это свойство в зависимости от стратегии.
13%
Применить аннотацию @Strategy для функций стратегии.
11%
Создать множество функций, которые вызываются в зависимости от условий.