12 магических шепотков для разработчика: как снять проклятие самопрокшатого кода

Код самопроклялся? 12 магических шепотков вернут его к жизни за минуты — проверено разрабами!

Каждый разработчик, будь то новичок или гуру, хотя бы раз в жизни сталкивался с тем, что его код «самопрокшился», то есть перестал работать именно в тот момент, когда вы его никому не показывали․ Ниже собраны 12 проверенных «шепотков» — коротких сценариев действий и контактов, которые помогут быстро снять «проклятие» и вернуть приложение к жизни․

Перезапускающий шепоток «CTRL+F5»

Иногда достаточно просто сбросить кэш браузера или временные файлы IDE․ Громко прошепчите: «Кэш-чист, исчезни!» и нажмите CTRL+F5․

Шепоток «Переменная-оборотень»

Проверьте, не переопределена ли где-нибудь случайно переменная с тем же именем․ Прошепчите: «let there be no shadow» и дважды пройдитесь по поиску Find All․

Шепоток «Заколдованный порт»

Убедитесь, что ничто другое не занимает нужный порт․ В терминале:

lsof -i :3000

Если процесс найден, прошепчите PID и «закрой его»․

Шепоток «Потерянный env»

Проверьте переменные окружения․ Создайте файл ․env․example, проговорите: «dotenv, приди!» и сверьте каждый ключ․

Шепоток «Сломанный lock»

Удалите package-lock․json или yarn․lock, затем:

npm ci && npm start

Шепните: «lock, не держи меня»․

Шепоток «Кэшированный бандл»

В Webpack-сборке:

rm -rf dist && npm run build

Громко шепните: «cache busted»․

Шепоток «Дьявольский кэш CI»

Если CI падает, а локально всё работает:

  • GitHub Actions — добавьте actions/cache@v4 c ключом v2-{{ checksum «package-lock․json» }}
  • GitLab CI — используйте cache:key:files

Шепните: «clear runner cache» и перезапустите пайплайн․

Шепоток «Проверь консоль»

Откройте DevTools, включите «Pause on exceptions», проговорите: «uncaught, show thyself» и ждите всплывающий debugger․

Шепоток «Снежный коммит»

Откатитесь на предыдущий коммит:

git bisect start HEAD~10 HEAD
git bisect run npm test

Шепните: «find the evil» и следуйте за bisect․

Шепоток «Убийца процессов»

Если процесс завис:

pkill -f node

или в Windows:

taskkill /F /IM node․exe

Шепните: «rest in peace»․

Шепоток «Докер-демон»

Если используете контейнеры:

docker system prune -f

Шепните: «purge dangling» и пересоберите образ․

Шепоток «Священный лог»

Добавьте единый логгер (например, winston или pino), настройте уровень debug и шепните: «log all the things», чтобы ничто не скрылось от вас․

Контакты для экстренной помощи

Если ни один шепоток не подействовал, используйте эти каналы:

  • Telegram-чат «Фронтенд-спас»: @frontend_spas
  • Slack #random в командном workspace: пишите @senior-dev-oncall
  • E-mail техподдержки CI/CD: ci-help@yourcompany․com
  • Discord сервер «Кодовые шепотки»: https://discord․gg/codespells
  • Экстренный номер DevOps: +7 (999) -23-45-67 (WhatsApp, Signal)

Помните: самопрокшятие — это не вечно․ Главное — не паниковать, громко шептать и обращаться по списку выше․