JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Nullable як контракт: де null виправданий, а де заважає

    Kotlin SELF
    41 рівень, 0 лекція
    Розбираємо nullable-типи в Kotlin як контракт: що насправді означає String ?, коли безпечний виклик ?. та оператор Елвіса ?: — це норма на межі системи (введення, парсинг, пошук), а коли null починає «протікати» в бізнес-логіку. На прикладах toIntOrNull(), пошуку в Map і міні-застосунку ExpenseTracker вчимося локалізувати nullable та уникати антипатернів на кшталт !! і сентинелів ( 0, - 1, "UNKNOWN").
    Відкрита
  • Чим замінювати null: передумови, sealed‑результати, Result

    Kotlin SELF
    41 рівень, 1 лекція
    Розбираємося, чому null часто перетворюється на «туманний контракт» — і чим його практично замінювати в Kotlin: передумовами ( require/ check та варіантами *NotNull), осмисленими результатами через sealed-класи (вичерпний when), а також стандартним контейнером Result<T> для підходу «помилка як значення». На прикладі CLI‑трекера витрат показуємо, як розподіляти ці підходи за шарами та уникати типових пасток.
    Відкрита
  • Smart-cast і як його застосовувати

    Kotlin SELF
    41 рівень, 2 лекція
    Розбираємося, як працює smart-cast у Kotlin: коли компілятор «обіцяє» вам вужчий тип без as і без !!; чому інколи він відмовляється (нестабільність var, властивості на кшталт obj . prop, лямбди, повторні читання); і які прийоми допомагають: знімок у локальний val, guard clause з return, а також явне перетворення T? -> T через requireNotNull/ checkNotNull. Наприкінці — практичний приклад із пошуком Expense? і таблиця-шпаргалка.
    Відкрита
  • Прибираємо null із колекцій і пайплайнів перетворень

    Kotlin SELF
    41 рівень, 3 лекція
    Розбираємо практичну «санітарну обробку» для Kotlin-колекцій: чому List<T?> швидко «заражає» пайплайн перевірками, як якомога раніше прибрати null за допомогою filterNotNull() і mapNotNull(), як будувати шлюз нормалізації вхідних даних, акуратно працювати з результатами пошуку ( find/ firstOrNull) і перетворювати Map<K, V?> на Map<K, V> без !!. Наприкінці — нюанси takeIf/ takeUnless і типові помилки.
    Відкрита
  • Проєктуємо модель без nullable-полів

    Kotlin SELF
    41 рівень, 4 лекція
    Розбираємо практичний підхід до моделювання в Kotlin: тримаємо null на межі (введення/зовнішні дані), нормалізуємо рядки через trim(), перетворюємо текст на числа через toIntOrNull(), повертаємо помилки явно через sealed class ( Ok/ Error), а в доменній моделі використовуємо лише строгі типи без ? і захищаємо інваріанти за допомогою require(...).
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush