AI Ustoz UZ: изучайте искусственный интеллект на узбекском языке

Vibe coding и точная постановка задачи (spec)

Средний уровень · урок 1 · около 12 мин

Vibe coding — способ создавать программу в диалоге с искусственным интеллектом: вы говорите, что нужно, инструмент предлагает код. Но ответственность за код на вас: если не проверить, что он работает верно, ему нельзя доверять. Результат зависит от того, насколько точно записана задача.

Точная постановка (spec) состоит из четырёх частей: что приходит на вход, что должно получиться на выходе, 2–3 конкретных примера и граничные случаи (например, пустой список, 0 или наибольшее значение). Для выбора по условию в Python есть if, elif, else. Строка после условия тоже сдвигается на 4 пробела.

yosh = 20
if yosh >= 18:
    print("kattalar")
else:
    print("bolalar")
Результатkattalar

Граничные случаи — место, где чаще всего ошибаются. Например, если написано «старше 18 лет», прямо укажите, относится ли к взрослым человек ровно 18 лет. Точные примеры облегчают и постановку, и последующую проверку.

Запомните

  • Vibe coding: вы ставите задачу, проверка кода остаётся за вами.
  • Spec = вход + выход + примеры + граничные случаи.
  • Условие: if, elif, else.

Упражнение

Какая из формулировок — хорошая постановка (spec)?

Ответ и пояснение
  1. «Напиши мне функцию, проверяющую возраст».вход, выход и границы неизвестны.
  2. «Функция yosh_toifa(yosh) возвращает bola при возрасте меньше 18, kattalar при 18–64 и keksa при 65 и старше. Пример: 10 → bola, 65 → keksa». (верный ответ)указаны вход, выход, границы и примеры.
  3. «Пусть код будет красивым».красота — не проверяемый критерий.

Упражнения с кодом

  1. Напишите функцию yosh_toifa(yosh): при возрасте меньше 18 она возвращает bola, от 18 до 64 — kattalar, от 65 и старше — keksa.
    Подсказка: if yosh < 18:, затем elif yosh < 65:, в конце else:. В каждой ветке return.

Выполните упражнение в приложении.

Практическое задание

Напишите spec для небольшой функции (например, определение чётности числа): вход, выход и 3 примера, включая один граничный случай.

  • Записал вход и выход
  • Записал 3 примера
  • Добавил один граничный случай

Словарь

Интерактивный режим: поиск, прогресс и упражнения на Python.