Сложный и громоздкий проект чреват серьезными ошибками: это знает каждый. Смотрите наш ТОП-8 ошибок веб-разработчика и не совершайте их!
Не будем рассыпаться в описании причин, которые обязывают нас тестировать. Сразу к делу.
Игнорирование ошибок на продакшене
Прод – святая святых! Тем не менее, здесь все еще можно встретить неаккуратность. Не зря же данный пункт в перечне распространенных ошибок веб-разработчика.
Мы часто тестируем свой код на разных этапах создания перед развертыванием. Программисты пишут автоматические тесты и следуют технике TDD, чтобы убедиться, что код не крашится. Вот только это делается на сендбоксе, а об отслеживании ошибок/багов на уже запущенных проектах мы нередко забываем.
Существуют разные инструменты для отслеживания ошибок в зависимости от языка или платформы, используемой при разработке.
Для отслеживания ошибок JS можно использовать:
- Sentry
- TrackJS
- Rollbar
Внесение изменений непосредственно на сервере
Каждый это делал, разве нет? Когда нужно совершить небольшое изменение или исправление критической ошибки, зачастую быстрее и проще отредактировать код непосредственно на сервере.
Такие изменения, скорее всего, будут потеряны при следующем обновлении. А поэтому потом предстоит двойная работа – написание того же самого кода второй раз.
Простои при развертывании
При развертывании кода на сервере в большинстве случаев сайт отключается. Очевидно, что это плохо с любой точки зрения.
Поэтому всегда рекомендуется использовать политики развертывания, "накатывающие" код на сервер без его остановки.
Безопасность кода
Разработчики постоянно хранят секретные учетные данные, ключи API, пользовательскую информацию и прочее в самом коде. Если это код на стороне клиента – вы сильно рискуете.
Храните все секретные данные в недоступном для пользователей месте, используйте зашифрованное хранилище или переменные ENV.
Общение с командой
Разработчик занят работой над новым функционалом и внесением изменений в код. Иногда приходится размещать проект на сервере, дабы убедиться, что код работает корректно.
Иметь плохую связь с командой и не уведомлять коллектив о готовом или неудачном деплое – огромная ошибка. Разработчики отвлекаются и теряют фокус, ожидая уведомления, которое никогда не получат.
Отсутствие резервного копирования
Иметь резервную копию – все равно, что иметь страховку. Если внесенное на сервер изменение "уложило" его, а у вас нет бекапов – будут большие проблемы. Вам придется последовательно накатывать все версии, чтобы вернуться к нормальному состоянию. Это потребует больше времени и нервов, чем откат к контрольной точке.
Отсутствие кеширования
Никто не хочет ждать загрузки сайта. Поэтому кеширование – один из основных инструментов, который следует применять в разработке. Чаще всего используют Caching и Lazy Loading:
- Caching: следит за тем, чтобы статика (CSS, JavaScript и изображения) хранилась в браузере и не загружалась с сервера всякий раз.
- Lazy Loading: загружает внешние скрипты или картинки только тогда, когда они необходимы.
Ручное развертывание
Ручной деплой занимает много времени, сложен и часто вызывает большие проблемы. Пара непреднамеренных кликов, сделанных неопытным разработчиком, и – вуаля! – вся работа исчезла.
Мы рассмотрели подборку популярных ошибок веб-разработчика.
Использование этих знаний на практике поможет вам избежать ненужных стрессов и рабочий процесс станет приятнее.
Комментарии