Почему «оно работает» — не критерий качества
Коротко: фраза «оно работает» говорит только о том, что код не сломался прямо сейчас. Она ничего не говорит о том, что будет через час, завтра или после первого изменения. Качество начинается там, где ты понимаешь, почему оно работает и что произойдёт, если условия изменятся.
Откуда вообще берётся это ощущение
Почти всегда всё начинается одинаково. Ты что-то попросил у ИИ, получил код, запустил — и увидел результат. Экран показал то, что ты ожидал. В этот момент появляется внутреннее облегчение. Значит, всё получилось. Значит, можно идти дальше.
Это очень человеческая реакция. Мозг любит закрывать задачи. Если результат совпал с ожиданием, кажется, что работа завершена. Особенно если ты не умеешь кодить и не до конца понимаешь, что происходит внутри.
Почему «работает» кажется достаточным
Когда нет опыта, качество легко путается с фактом запуска. Если программа не падает и выдаёт нужный результат, кажется, что она «правильная». Всё остальное воспринимается как придирки или усложнение.
ИИ усиливает это ощущение. Он пишет уверенный код, часто сразу рабочий, и создаётся иллюзия, что если что-то пошло не так, он потом просто «починит». В итоге критерий качества незаметно сжимается до одного пункта — запустилось или нет.
Что на самом деле скрывается за «оно работает»
Проблема в том, что работающий код может быть очень разным. Он может быть устойчивым или хрупким. Понятным или полностью непрозрачным. Готовым к изменениям или разваливающимся от любого движения.
Фраза «оно работает» не отвечает ни на один важный вопрос. Почему оно работает именно так. Что будет, если придут другие данные. Что произойдёт, если ты вернёшься к этому коду через месяц. Сможешь ли ты что-то поменять, не сломав всё остальное.
Пока эти вопросы не заданы, «работает» — это просто совпадение с текущими условиями.
Когда эта ошибка начинает мешать по-настоящему
Сначала всё выглядит безобидно. Потом появляется первая правка. Ты добавляешь новую функцию или ИИ меняет кусок кода. И вдруг результат становится странным. Где-то что-то перестаёт работать, но ты не понимаешь, где именно и почему.
В этот момент выясняется, что код был рабочим, но не понятным. Ты не знаешь, за что можно тянуть, а за что нельзя. Любое изменение становится рискованным, потому что нет уверенности, что ты вообще понимаешь систему.
Почему ИИ не спасает от этого
Кажется логичным думать, что ИИ в любой момент всё поправит. Но ИИ не помнит, как ты собираешься жить с этим кодом. Он реагирует на текущий запрос, а не на историю проекта.
Если ты сам не понимаешь, что именно должно сохраняться и что важно не сломать, ИИ тоже этого не знает. Он может снова сделать так, чтобы «работало», но проблема повторится, потому что критерий качества так и не появился.
Что на самом деле можно считать качеством
Качество начинается не там, где код запускается, а там, где он предсказуем. Когда ты понимаешь, что произойдёт при изменении входных данных. Когда ты можешь объяснить, за что отвечает этот кусок и что будет, если его убрать или изменить.
Это не требует глубоких технических знаний. Это требует ясности. Если ты можешь задать вопросы к коду и получить на них понятные ответы — значит, качество уже появилось.
Почему это особенно важно в вайбкодинге
В вайбкодинге легко привыкнуть к быстрым результатам. ИИ даёт ощущение скорости и прогресса. Но без внутреннего критерия качества эта скорость оборачивается накоплением хрупких решений.
В какой-то момент проект перестаёт двигаться вперёд, потому что любое изменение становится страшным. И это почти всегда следствие того, что раньше было принято слишком много решений по принципу «главное, что работает».