ГоловнаКурсиТренажерТест рівняPersonalУвійти
Модуль 12 · Урок 58 із 60

CI, linting і автоматичні тести

Перевіряти якість коду перед злиттям змін.

40 хв +100 XP Advanced 4 контрольні питання
Поточний модуль 12 Production і портфоліо
Результат уроку

У цьому уроці ти не просто прочитаєш про «CI, linting і автоматичні тести», а побудуєш робочий приклад, розбереш кожний крок, виконаєш три вправи та закріпиш тему в тренажері.

Пояснення

Як працює тема на практиці

CI, linting і автоматичні тести — практична тема, без якої складно писати передбачувані програми на Python. Перевіряти якість коду перед злиттям змін.

Починай із контракту: які дані надходять, який результат очікується і що вважається помилкою. Це одразу підказує структуру рішення та набір перевірок.

Після робочого сценарію обов’язково перевір порожнє значення, мінімальну й максимальну межу, неправильний тип або відсутній ресурс. Саме крайові випадки найчастіше відрізняють навчальний код від production-коду.

Завершуй рефакторингом: прибери дублювання, скороти вкладеність, уточни назви й залиш лише ті абстракції, які спрощують читання та тестування.

01

Пояснити власними словами, яку проблему розв’язує тема «CI, linting і автоматичні тести».

02

Розділити вхідні дані, бізнес-правила та формування результату.

03

Перевірити типовий, граничний і помилковий сценарії.

04

Оцінити читабельність: назви, вкладеність, дублювання та залежності.

Робочий приклад
Python · lesson 58
def calculate_discount(total: float, percent: int) -> float:
    return round(total * (1 - percent / 100), 2)

def test_discount():
    assert calculate_discount(1000, 15) == 850.0
1

Визначаємо формат вхідних даних і очікуваний результат.

2

Розбираємо ключову конструкцію прикладу та причину її вибору.

3

Запускаємо типовий сценарій і перевіряємо фактичний результат.

4

Додаємо крайовий випадок, після чого спрощуємо код без зміни поведінки.

Закріплення

Три вправи від простого до challenge

01
Розігрів

Зміни приклад уроку так, щоб він працював з двома різними наборами даних і виводив зрозуміле повідомлення.

02
Основна практика

Створи невелику програму на тему «CI, linting і автоматичні тести»: використай реалістичні дані навчальної платформи, покажи результат і оброби щонайменше один крайовий випадок.

03
Challenge

Додай перевірку помилкових даних, винеси логіку в окрему функцію/метод і підготуй щонайменше три тестові сценарії для теми «CI, linting і автоматичні тести».

Виконати основну вправу в тренажері
Практична задача

Створи невелику програму на тему «CI, linting і автоматичні тести»: використай реалістичні дані навчальної платформи, покажи результат і оброби щонайменше один крайовий випадок.

Рішення виконує поставлену умову, використовує ключові конструкції теми «CI, linting і автоматичні тести», має зрозумілі назви та не падає на порожніх або некоректних даних.

Відкрити редактор
ПідказкиЗапиши приклад input → output до написання коду.Спочатку реалізуй найменший робочий варіант, потім додай перевірки.Не дублюй одну й ту саму умову в кількох місцях.
Контроль засвоєння

Перевір себе перед завершенням уроку

Дай відповідь на всі 4 питання. Для зарахування потрібно набрати щонайменше 75%.

0/4відповідей
01

Який підхід найкраще закріплює тему «CI, linting і автоматичні тести»?

02

Який результат найточніше відповідає меті цього уроку?

03

Яка дія найкраще закріпить матеріал після теорії та прикладу?

04

Який принцип потрібно перевірити у власному рішенні?

Заверши тест і забери 100 XPКнопка активується після результату від 75%.