--- title: Лучшие практики image: /images/user-guide/tips/light-bulb.png --- Header Этот документ описывает лучшие практики, которым следует следовать при работе с бэкендом. ## Следуйте модульному подходу Бэкенд следует модульному подходу, который является основным принципом при работе с NestJS. Убедитесь, что вы разбили код на многократно используемые модули для поддержания чистой и организованной кодовой базы. Каждый модуль должен инкапсулировать определённую функцию или функциональность и иметь чётко определённую сферу деятельности. This modular approach enables clear separation of concerns and removes unnecessary complexities. ## Expose services to use in modules Всегда создавайте сервисы, которые имеют чёткую и единственную ответственность, что повышает читаемость и поддерживаемость кода. Назовите сервисы описательно и последовательно. Также стоит обнародовать сервисы, которые вы намерены использовать в других модулях. Обнародование сервисов в другие модули возможно через мощную систему внедрения зависимостей NestJS и способствует слабой связи между компонентами. ## Избегайте использования типа `any` Когда вы объявляете переменную как `any`, проверяющая тип система TypeScript перестаёт выполнять проверку типов, что позволяет присваивать переменной значения любого типа. TypeScript использует вывод типов для определения типа переменной на основе значения. При объявлении его как `any`, TypeScript больше не может выводить тип. Это затрудняет выявление ошибок, связанных с типами, во время разработки, что приводит к ошибкам выполнения и делает код менее поддерживаемым, менее надёжным и трудным для понимания других. Поэтому всё должно иметь тип. Если вы создаёте новый объект с именем и фамилией, вы должны создать интерфейс или тип, который содержит имя и фамилию, что определяет форму объекта, с которым вы работаете.