Вайб-кодер от нуля до мастера в эпоху AI
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

Кітаптан алынған дәйексөздер  Вайб-кодер от нуля до мастера в эпоху AI

Толық оқу және тыңдау
Тегін үзінді
Андрей Живов
Андрей Живовдәйексөз келтірді2 күн бұрын
Твоя новая работа — быть параноиком. Быть тем самым душным тимлидом для своего AI-стажёра. Прежде чем писать промпт, задай себе вопросы: — А что, если данные придут пустые? — А что, если придёт не тот тип данных (не массив, а объект)? — А что, если сеть упадёт? — А что, если сервер вернёт ошибку? Думать о пограничных случаях, об ошибках, об архитектуре — вот твоя настоящая работа
1 Ұнайды
Комментарий жазу
Андрей Живов
Андрей Живовдәйексөз келтірді1 күн бұрын
Совет от гаражного кодера: — Выноси логику в отдельные функции. Наше условие isVip уже становится сложным. В реальном проекте его лучше вынести в отдельную функцию-предикат: const isVip = (user) => user.status === … Это делает код ещё чище. — Не бойся reduce, подружись с ним. Потрать вечер на то, чтобы решить 5—10 разных задач на массивы с помощью. reduce (). Ты поймёшь, что им можно делать практически всё: группировать, искать уникальные значения, преобразовывать массив в объект. — Пиши тесты на свои рефакторинги. Прежде чем начать рефакторить код (сгенерированный или свой старый), напиши на него несколько простых тестов, которые проверяют основные сценарии. После каждого шага рефакторинга прогоняй тесты. Если они всё ещё зелёные — ты на верном пути. — Спрашивай у AI «как улучшить?». После того, как ты сам отрефакторил код, скорми свою финальную версию AI-чату и спроси: «Что ещё можно улучшить в этом коде?». Иногда он может подкинуть интересную идею, о которой ты не подумал, например, предложить деструктуризацию объекта user для большей читаемости.
Комментарий жазу
Андрей Живов
Андрей Живовдәйексөз келтірді2 күн бұрын
Валидируй данные на входе. Прежде чем работать с данными, пришедшими извне (от пользователя, из API), убедись, что они того типа, который ты ожидаешь
Комментарий жазу
Андрей Живов
Андрей Живовдәйексөз келтірді2 күн бұрын
вайб-кодер не просто чинит, он учится, чтобы не повторять ошибок. Проблема была не только в AI. Проблема была в нашем промпте. Он был слишком наивным. Промпт уровня «Джуниор»: // Напиши функцию, которая получает имена пользователей с API. Промпт уровня «Миддл»: // Напиши асинхронную функцию getUsersNames, которая делает GET-запрос на «…', получает массив пользователей и возвращает новый массив только с их именами. (Это то, что мы написали). А вот как выглядит промпт уровня «Сеньор»: // Напиши асинхронную функцию getUsersNames, которая делает GET-запрос на «…'. Функция должна быть надёжной. Добавь обработку сетевых ошибок с помощью try...catch. Если ответ сервера не успешный (статус не 200—299), функция должна выбрасывать ошибку с текстом статуса. Если в ответе пришёл пустой массив или вообще не массив, функция должна возвращать пустой массив, не падая. В случае любой другой ошибки, она также должна возвращать пустой массив и логировать ошибку в консоль. Чувствуешь разницу? Сеньорский промпт не просто говорит, что делать. Он предвидит проблемы и говорит, как на них реагировать. Он описывает не только «happy path», но и все «sad paths
Комментарий жазу
Андрей Живов
Андрей Живовдәйексөз келтірді4 күн бұрын
отать не будет. — editor. quickSuggestions: Эта настройка контролирует появление стандартного окошка с подсказками. Важно, чтобы оно не конфликтовало с Copilot. Настройки «on» для строк и комментов позволяют Copilot лучше «понимать» контекст, когда ты начинаешь писать. Шаг 4. Хоткеи: приручаем зверя окончательно Инструмент бесполезен, если ты не умеешь им пользоваться быстро. Заучи эти хоткеи, как git push. Это твоя новая мышечная память. — Tab — Принять предложение. Твой лучший друг. — Esc — Отклонить предложение. Твой второй лучший друг. — Alt +] (или Option +] на Mac) — Показать следующее предложение. — Alt + [(или Option + [на Mac) — Показать предыдущее предложение. (Многие не знают об этой фиче, а она — золото!) — Ctrl + Enter — Открыть панель с 10 вариантами кода от Copilot. Полезно, когда первая предложенная идея — мусор. — Ctrl + I — Открыть встроенный чат Copilot. Выдели кусок кода, нажми Ctrl+I и напиши «Refactor this» или «Explain this code». Это киллер-фича. Вот и всё, братан. Твой классический, кастомный, но заряженный AI сетап готов. Ты получил мощь нейронки, но оставил за собой полный контроль. Ты сам решаешь, когда нажать на газ, а когда — притормозить и подумать своей головой. Это путь воина, который доверяет своему мечу, но полагается на собственное мастерство. Совет от гаражного кодера: — Поставь Prettier и ESLint. AI часто генерит код с кривым форматированием или не по стайлгайду проекта. Эти два плагина — твои автоматические «чистильщики». Они будут форматировать код (включая сгенерированный) при сохранении. Так в репозитории будет порядок. — Создай файл. copilotignore. Да, такой существует! По аналогии с. gitignore. Создай его в корне проекта и пропиши пути к файлам или папкам, которые Copilot должен игнорировать полностью. Это более тонкий контроль, чем settings. json, и он работает на уровне проекта. Например, туда можно добавить файлы с секретами или ключами API (.env, secrets. js).
Комментарий жазу
Андрей Живов
Андрей Живовдәйексөз келтірді4 күн бұрын
Шаг 3. Тонкая настройка: пилим settings. json, чтобы Copilot не бесил Мы не хотим, чтобы турбина работала на полную мощность, когда мы паркуемся. Нам нужен контроль. Открываем настройки в формате JSON. Это наш «мозг» IDE. — Нажми Ctrl+,, чтобы открыть настройки. — В правом верхнем углу есть иконка файла с загнутым уголком. Наведи на неё, появится подсказка «Open Settings (JSON)». Жми. Перед тобой файл settings. json. Всё, что мы сюда напишем, переопределит дефолтные настройки. Вот готовый конфиг, который я использую сам. Копируй и вставляй. Ниже я разложу по полочкам, что каждая строчка делает. { // — - Общие настройки для комфортной работы — — "editor.fontSize»: 14, "editor.fontFamily»: ««Fira Code’, «JetBrains Mono’, «Consolas’, ’monospace’», "editor.fontLigatures»: true, "workbench.colorTheme»: «Default Dark+», // или любая твоя любимая тема "files.autoSave»: «onFocusChange», // — - Начинается магия для COPILOT — — // 1. Главный рубильник. Иногда хочется подумать в тишине. "github.copilot. enable»: { «*»: true, // Включаем для всех языков по умолчанию «plaintext»: false, // Выключаем для обычных текстовых файлов «markdown»: false, // Выключаем для Markdown, чтобы не мешал писать доки «json»: true // Для JSON пусть работает, помогает со скобками }, // 2. Убираем мусор из поля зрения AI. // Copilot учится на открытых файлах. Не давай ему учиться на мусоре. «files. exclude»: { "**/.git»: true, "**/.svn»: true, «**/.hg»: true, «**/CVS»: true, «**/.DS_Store»: true, «**/Thumbs. db»: true, «**/node_modules»: true, // Самое важное! «**/bower_components»: true, «**/dist»: true, «**/build»: true }, «search. exclude»: { «**/node_modules»: true, «**/bower_components»: true, "**/*.code-search»: true }, // 3. Отключаем встроенные подсказки VS Code, чтобы не конфликтовали с Copilot. // Пусть будет один главный по подсказкам. "editor.inlineSuggest. enabled»: true, // 4. Тюним автодополнение, чтобы было удобно. // По умолчанию он может предлагать код, когда ты этого не ждешь. // Эта настройка (увы, пока нет прямого конфига) решается привычкой жать Esc. // Но мы можем настроить, когда автокомплит появляется сам: «editor. quickSuggestions»: { «other»: «on», «comments»: «on», «strings»: «on» }, // 5. Горячая клавиша для чата Copilot. `Ctrl+I` по умолчанию — топ. // Можно переназначить, если мешает. // «keybindings. json» } Разбор полётов по конфигу: — github.copilot. enable: Это твой главный тумблер. Ты можешь точечно отключать Copilot для определённых типов файлов. Я всегда вырубаю его для markdown, потому что когда я пишу документацию или эту книгу, последнее, что мне нужно, — это предложения сгенерить for loop. — files. exclude и search. exclude: Критически важные настройки! Папка node_modules — это чёрная дыра, в которой лежат миллионы файлов. Если AI начнёт их анализировать, твоя IDE превратится в черепаху. Этим конфигом мы говорим: «Братан, вот сюда не смотри, там ничего интересного». — editor.inlineSuggest. enabled: Убедись, что эта опция включена, и
Комментарий жазу