~/VibeHandbook

Глава 10 · 03

Проверка типов и линтинг: бесплатно пойманные ошибки

Два инструмента ловят целые категории ошибок почти без усилий с вашей стороны:

  • Проверка типов (TypeScript, mypy и т. д.) ловит «вы передали строку там, где ожидалось число» и «это значение может быть undefined». AI обожает забывать про крайние случаи, которые типы делают невозможными.
  • Линтинг (ESLint, Ruff и т. д.) ловит неиспользуемые переменные, недостижимый код и расхождения в стиле. Он не даёт кодовой базе, к которой прикасается AI, медленно превращаться в кашу.

Настройте их рано и скажите AI им подчиняться: «Запусти проверку типов и линтер и исправь всё, на что они укажут, прежде чем считать это готовым». Считайте чистую проверку типов частью определения завершённости.

Но следите за ленивыми лазейками. Когда проверка типов жалуется, по-настоящему правильное исправление — это обработать найденный ею случай: значение undefined, неверный тип. Быстрое исправление — заглушить жалобу комментарием // @ts-ignore, any или # type: ignore, и AI хватается за них постоянно, потому что они заставляют красный текст исчезнуть. Они же делают проверку бесполезной ровно там, где она пыталась помочь. Если в диффе появляется подавляющий (suppression) комментарий, относитесь к нему как к вопросу, а не как к решению: «Почему это нужно? Исправь сам тип, а не игнорируй его».

Хотите офлайн-версию?

Получите PDF + EPUB + скачиваемую библиотеку промптов + обновления версий.

$ Получить PDF — $39