Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: constants, code organization, maintainability, configuration, best practices

Как правильно организовывать константы в проекте?

Вопрос проверяет понимание принципов организации констант в коде для повышения читаемости, поддерживаемости и предотвращения ошибок.

Короткий ответ

Константы следует выносить в отдельные модули или файлы, группируя их по логическому назначению. Используйте именованный экспорт для удобства импорта. Избегайте "магических чисел" и строк, разбросанных по коду. Для конфигурации приложения создайте отдельный файл (например, config.js). Это упрощает изменение значений и поиск ошибок.

Длинный ответ

Организация констант — это практика вынесения неизменяемых значений из тела кода в специально отведённые места. Это критически важно для любого проекта, который планируется поддерживать и масштабировать.

Основные принципы организации

  • Логическая группировка: Константы, относящиеся к одной предметной области (например, API-эндпоинты, ключи localStorage, сообщения об ошибках), следует хранить вместе.
  • Именование: Имена констант должны быть описательными и, как правило, в UPPER_SNAKE_CASE (например, MAX_RETRY_COUNT), чтобы визуально отличаться от переменных.
  • Единственный источник истины: Одно и то же значение не должно дублироваться в разных частях кода.

Практические примеры

Вместо того чтобы писать "магические" строки или числа прямо в функциях, создайте модуль констант.

// constants/api.js
export const API_BASE_URL = 'https://api.example.com/v1';
export const API_ENDPOINTS = {
  USERS: '/users',
  PRODUCTS: '/products',
};
export const HTTP_STATUS_CODES = {
  OK: 200,
  NOT_FOUND: 404,
  SERVER_ERROR: 500,
};

// constants/validation.js
export const PASSWORD_MIN_LENGTH = 8;
export const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;

// config.js (для конфигурации среды)
export const APP_CONFIG = {
  IS_PRODUCTION: process.env.NODE_ENV === 'production',
  SENTRY_DSN: process.env.REACT_APP_SENTRY_DSN,
  MAX_ITEMS_PER_PAGE: 20,
};

Затем импортируйте их там, где необходимо:

// services/userService.js
import { API_BASE_URL, API_ENDPOINTS } from '../constants/api';

async function fetchUsers() {
  const response = await fetch(`${API_BASE_URL}${API_ENDPOINTS.USERS}`);
  return response.json();
}

Где и как применять

Такой подход применяется повсеместно: для хранения строк интернационализации (i18n), ключей действий в Redux, цветов дизайн-системы, размеров breakpoints для адаптивного дизайна и любых других значений, которые не должны меняться во время выполнения программы или могут меняться в зависимости от среды (development/production).

Вывод: Централизованное хранение констант делает код чище, облегчает рефакторинг и глобальные изменения, а также снижает вероятность опечаток и логических ошибок. Это обязательная практика для проектов любого размера.

Уровень

  • Рейтинг:

    3

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#constants

#code organization

#maintainability

#configuration

#best practices

Подпишись на Python Developer в телеграм