Vibe coding и точная постановка задачи (spec)
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)?
Ответ и пояснение
- «Напиши мне функцию, проверяющую возраст».вход, выход и границы неизвестны.
- «Функция
yosh_toifa(yosh)возвращаетbolaпри возрасте меньше 18,kattalarпри 18–64 иkeksaпри 65 и старше. Пример: 10 → bola, 65 → keksa». (верный ответ)указаны вход, выход, границы и примеры. - «Пусть код будет красивым».красота — не проверяемый критерий.
Упражнения с кодом
- Напишите функцию
yosh_toifa(yosh): при возрасте меньше 18 она возвращаетbola, от 18 до 64 —kattalar, от 65 и старше —keksa.
Подсказка:if yosh < 18:, затемelif yosh < 65:, в концеelse:. В каждой веткеreturn.
Выполните упражнение в приложении.
Практическое задание
Напишите spec для небольшой функции (например, определение чётности числа): вход, выход и 3 примера, включая один граничный случай.
- Записал вход и выход
- Записал 3 примера
- Добавил один граничный случай
Словарь
Интерактивный режим: поиск, прогресс и упражнения на Python.
