---
title: Лучшие практики
image: /images/user-guide/tips/light-bulb.png
---
Этот документ описывает лучшие практики, которым следует следовать при работе с бэкендом.
## Следуйте модульному подходу
Бэкенд следует модульному подходу, который является основным принципом при работе с 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 больше не может выводить тип. Это затрудняет выявление ошибок, связанных с типами, во время разработки, что приводит к ошибкам выполнения и делает код менее поддерживаемым, менее надёжным и трудным для понимания других.
Поэтому всё должно иметь тип. Если вы создаёте новый объект с именем и фамилией, вы должны создать интерфейс или тип, который содержит имя и фамилию, что определяет форму объекта, с которым вы работаете.