Дорожная карта разработки

Отслеживайте наш прогресс и будущие функции. Мы постоянно развиваемся, чтобы предоставить вам лучший опыт разработки.

Генерация автоматических тестов

Запланировано

Автоматическая генерация тестов с поддержкой двух основных уровней:

Модульные тесты:
Создание тестов для отдельных классов и методов, с акцентом на бизнес-логику.

Интеграционные тесты:
Создание тестов для проверки взаимодействия между компонентами, моделируя взаимодействие с базами данных и внешними сервисами.

Функция
2026

Lino уже доступен в раннем доступе

В процессе

Lino теперь коммерчески доступен в версии Early Access, что ознаменовало завершение бета-этапа и начало его внедрения в реальных средах разработки.

Все основные функции, запланированные для версии 1.0.0, уже реализованы, что делает продукт полноценным и готовым к практическому использованию.

На этом начальном этапе наш фокус направлен на непрерывное совершенствование — корректировку производительности, улучшение стабильности и мелкие оптимизации, основанные на реальном использовании клиентами.

Те, кто приобретет Lino на этом этапе, получат полный доступ к обновлениям, специализированную техническую поддержку и возможность активно участвовать в развитии продукта до официального релиза версии 1.0.0.

Улучшение
ноябрь 2025 г. v1.0.0-preview.1

Совместимость и нативная генерация с .NET 10

Завершено

Lino теперь создает проекты, полностью совместимые с .NET 10, укрепляя интеграцию с последней версией платформы Microsoft.

Миграция с .NET 9 на .NET 10 была необходима, чтобы гарантировать, что создаваемые проекты используют последние достижения экосистемы .NET — включая оптимизацию производительности, улучшения времени компиляции, новые возможности C# 13 и улучшенный опыт работы с ASP.NET Core.

Это обновление гарантирует, что весь сгенерированный код готов к будущему платформы, с пересмотренными шаблонами, обновленными настройками Target Framework и скорректированным скэффолдингом в соответствии с новыми стандартами языка и среды выполнения.

Улучшение
ноябрь 2025 г. v1.0.0-beta

Генерация файлов .http

Завершено

Реализована автоматическая генерация файлов .http, чтобы упростить тестирование и документирование REST-эндпоинтов в процессе разработки.

Эта функция позволяет организовывать запросы и легко выполнять их напрямую в совместимых инструментах, ускоряя проверку API и улучшая опыт разработчиков.

Основные преимущества:
_ Автоматическое создание файлов, готовых для тестирования эндпоинтов.
_ Упрощает документирование и обмен примерами запросов.
_ Интегрируется в процесс разработки без дополнительной настройки.
_ Ускоряет проверку API в разных средах.

Функция
октябрь 2025 г. v1.0.0-beta

Интеграционные события с выбором свойств

Завершено

Добавлена возможность генерировать интеграционные события на основе явного выбора свойств сущности, которые должны составлять событие. Без этой функции события обычно включали всю сущность или требовали ручного создания специальных DTO, что увеличивало вербозность и могло приводить к раскрытию ненужных данных.

С новым подходом разработчики получают гранулярный контроль над включаемыми свойствами, создавая более компактные, безопасные события, соответствующие современным практикам работы с сообщениями.

Основные преимущества:
_ Выбор только свойств, релевантных для события.
_ Снижение нагрузки и предотвращение ненужного раскрытия данных.
_ Меньшие сообщения в очередях и топиках, повышение эффективности.
_ Проще развивать контракты интеграции.

Функция
октябрь 2025 г. v1.0.0-beta

Регистрация FluentValidation с помощью Source Generators

Завершено

Теперь возможно автоматически регистрировать все валидаторы на основе FluentValidation с использованием библиотеки Tolitech.FluentValidation.Generators.

В традиционной модели валидаторы необходимо обнаруживать и регистрировать вручную или с помощью отражения во время выполнения, что приводит к повторяющемуся коду и снижает производительность. С использованием Source Generators этот процесс выполняется на этапе компиляции, что приводит к более оптимизированному, безопасному и легко отслеживаемому коду.

Основные преимущества:
_ Устранение ручной регистрации валидаторов.
_ Устранение использования отражения, повышение производительности и снижение расхода ресурсов.
_ Типобезопасность и проверка уже на этапе компиляции.
_ Упрощение поддержки и развития проекта.

Производительность
октябрь 2025 г. v1.0.0-beta

Регистрация конфигураций EF Core с помощью Source Generators

Завершено

Добавлена поддержка автоматического обнаружения и регистрации всех классов конфигурации сущностей (EntityTypeConfiguration) Entity Framework Core с использованием Source Generators.

В настоящее время этот процесс зависит от отражения или ручной регистрации в OnModelCreating, что увеличивает сложность, влияет на производительность и усложняет сопровождение. С новой функцией маппинги решаются на этапе компиляции, что устраняет необходимость в отражении и централизует конфигурацию более эффективно.

Основные преимущества:
_ Замена использования отражения в EF Core.
_ Сокращение времени запуска приложения.
_ Обеспечение правильного применения всех конфигураций.
_ Повышение надежности и ясности при моделировании домена.

Производительность
октябрь 2025 г. v1.0.0-beta

Контроль доступа через политики

Завершено

Система управления доступом на основе разрешений (PBAC) с использованием Policies в ASP.NET Core.
Разрешения автоматически создаются с помощью Source Generators и регистрируются как Policies в .NET.
Каждый сервис, использующий эти разрешения, генерирует события, которые автоматически обновляют базу разрешений системы.

Основные характеристики:
_ Автоматическая генерация разрешений через Source Generators
_ Автоматическая регистрация Policies в ASP.NET Core
_ Динамическое обновление базы разрешений через события/сообщения
_ Поддержка гибридного RBAC, сочетая простоту ролей с детализированными разрешениями

Преимущества:
_ Максимальная производительность и масштабируемость
_ Автоматизированное управление и упрощённое обслуживание
_ Гибкость для различных сценариев безопасности

Функция
сентябрь 2025 г. v1.0.0-beta

Поддержка загрузки файлов

Завершено

Реализация нативной поддержки типа IFormFile для эндпоинтов, созданных с использованием Minimal APIs. Эта функциональность позволит автоматически генерировать маршруты с поддержкой загрузки файлов, включая:

_ Определение эндпоинтов с поддержкой загрузки через multipart/form-data;
_ Автоматическую проверку MIME-типов и допустимых максимальных размеров файлов;
_ Поддержку локального хранения и интеграцию с облачными сервисами, такими как Azure Blob Storage и AWS S3;

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

Функция
сентябрь 2025 г. v1.0.0-beta

Интеллектуальное объединение файлов

Завершено

С этой версии Lino CLI выполняет умное автоматическое слияние сгенерированных файлов. Раньше созданные Lino файлы напрямую заменяли существующие, что могло привести к перезаписи изменений, сделанных вручную разработчиком.

Теперь с новой стратегией 3-way merge (оригинальный сгенерированный файл, версия, отредактированная пользователем, и новый сгенерированный файл), Lino сохраняет персонализации и одновременно применяет структурные обновления шаблона.

Преимущества данного подхода:
_ Предотвращает случайную перезапись ручного кода.
_ Облегчает непрерывное развитие проектов на основе шаблонов.
_ Снижает ручные конфликты при обновлениях.
_ Улучшает интеграцию между локальными кастомизациями и развитием фреймворка.

Улучшение
сентябрь 2025 г. v1.0.0-beta

Регистрация Minimal API с использованием Source Generators

Завершено

Теперь проекты, создаваемые с помощью Lino CLI, могут автоматически регистрировать Minimal APIs с использованием библиотеки Tolitech.MinimalApis.Generators, основанной на Source Generators.

Этот подход заменяет необходимость:
_ Регистрировать каждый endpoint вручную через MapGet, MapPost и т. д.
_ Использовать Reflection для сканирования и сопоставления маршрутов — что негативно влияет на производительность.

С помощью Source Generators маршрутизация происходит во время компиляции, создавая оптимизированный, чистый и отслеживаемый код.

Основные преимущества:
_ Устраняет многословность и повторяемость при ручной регистрации маршрутов.
_ Удаляет необходимость в Reflection, снижая нагрузку на CPU и память.
_ Улучшает организацию кода и разделение ответственности.
_ Автоматически и безопасно генерирует маршруты с проверкой на этапе компиляции.
_ Облегчает поддержку и масштабирование проекта.

Производительность
август 2025 г. v1.0.0-beta

Внедрение зависимостей с использованием генераторов исходного кода

Завершено

Теперь мы используем библиотеку Tolitech.DependencyInjection.Generators, которая заменяет подход, основанный на Reflection, из Tolitech.DependencyInjection.Extensions.

Эта новая библиотека использует механизм Source Generators в .NET для автоматической генерации регистраций зависимостей во время компиляции.

Это обеспечивает множество преимуществ:
_ Устранение Reflection во время выполнения, что повышает производительность приложения.
_ Более предсказуемая и отслеживаемая генерация кода.
_ Более безопасная компиляция с ранним обнаружением ошибок.
_ Родная интеграция с пайплайном сборки .NET.

Производительность
август 2025 г. v1.0.0-beta

Принятие Central Package Manager

Завершено

Мы начали использовать Central Package Manager (CPM) — современный подход к управлению пакетами NuGet в решениях с несколькими проектами. С его помощью все версии пакетов централизованно определяются в файле Directory.Packages.props, что устраняет несоответствия и упрощает безопасные и согласованные обновления. Это снижает количество ошибок из-за различий версий между проектами, улучшает отслеживаемость и упрощает массовое обновление зависимостей.

Улучшение
август 2025 г. v1.0.0-beta

Поддержка нового формата .SLNX

Завершено

Lino теперь генерирует решения в новом формате .slnx, что является современной эволюцией традиционного .sln.
Формат .slnx, основанный на XML, был принят благодаря его лучшей читаемости как для людей, так и для инструментов, снижая сложность интеграции с внешними системами и CI/CD пайплайнами.

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

Улучшение
июль 2025 г. v1.0.0-beta

Поддержка генерации .NET / Aspire в версии Community

Завершено

Подписка Community теперь предлагает поддержку для создания проектов на основе .NET 9 и Aspire 9.2.1, позволяя пользователям бесплатно и технически исследовать возможности платформы.

Это обновление включает в себя:
_ Создание сервисов и сущностей с автоматическим scaffolding;
_ Выбор базы данных и полная начальная настройка;
_ Функциональная генерация до стадии EF Core Migrations.

Хотя такие продвинутые функции, как микросервисы и модульные монолиты, ограничены для платных планов, эта версия предоставляет надежную основу для оценки сгенерированной архитектуры, качества кода и интеграции с современной экосистемой .NET.

Улучшение
июль 2025 г. v1.0.0-beta

Команда миграции базы данных, интегрированная в CLI

Завершено

CLI теперь предоставляет команду lino database migrations add для упрощения создания миграций для любого сервиса или модуля проекта.

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

Основные преимущества:
_ Быстрое создание миграций по сервису или модулю с простыми и понятными командами.
_ Автоматическая генерация скриптов .sql, совместимых с версионированием проекта.
_ Облегчает контроль версий базы данных даже в распределённых архитектурах.
_ Стандартизирует и документирует структурные изменения базы безопасно и с аудиторской проверкой.
_ Естественная интеграция с процессом сборки и деплоя приложения.

Функция
июль 2025 г. v1.0.0-beta

Управление версиями и сборками с Docker

Завершено

Новая функция управления версиями позволяет перечислять существующие версии и выполнять bump версии для сервисов и веб-приложений, созданных с помощью инструмента, в соответствии с соглашением SemVer (семантическое версионирование). Это обеспечивает большую отслеживаемость, стандартизацию и контроль в процессе релизов.

С помощью команды version можно легко задать или обновить номер версии для каждого сервиса или приложения, облегчая аудит и внедряя лучшие практики в рабочий процесс разработки.

Команда build также была улучшена: теперь она создаёт Docker-образы с соответствующей версионной меткой, упрощая упаковку и подготовку к публикации.

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

Улучшение
июнь 2025 г. v1.0.0-beta

Выбор свойств в Commands и Queries

Завершено

Настройка свойств, которые будут учитываться при генерации артефактов типа Command (Post, Put, Patch) и Query (Get).

Эта функция предлагает:
_ Интерактивный интерфейс в CLI для выбора свойств во время процесса scaffolding сущностей;
_ Автоматическая генерация объектов только с выбранными полями для input/output;
_ Полная поддержка кастомизации payload'ов в REST API, повышая гибкость и контроль над передаваемыми данными;
_ Интеграция с валидацией и сгенерированными контрактами данных, с соблюдением правил обязательности и согласованности.

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

Улучшение
июнь 2025 г. v1.0.0-beta

Автоматический механизм резервного копирования в CLI

Завершено

В Lino CLI реализован автоматический механизм версионирования и резервного копирования файлов с целью обеспечения безопасности и отслеживаемости при создании и перезаписи файлов.

Все сгенерированные файлы сохраняются в папке /.lino/files/.../received/, что гарантирует их хронологическую организацию и легкую доступность.

Замененные файлы остаются в папке /.lino/files/.../replaced/, что позволяет восстановить предыдущие версии при необходимости. Эта структура резервного копирования обеспечивает больший контроль и безопасность, позволяя проводить полный аудит сгенерированных файлов, особенно в условиях совместной и автоматизированной разработки.

Улучшение
июнь 2025 г. v1.0.0-beta

Интегрированная аутентификация и авторизация с использованием JWT

Завершено

Полная реализация аутентификации и авторизации для frontend и backend проектов на основе JWT (JSON Web Tokens) и гранулярного контроля прав с помощью кастомных Authorization Policies в ASP.NET Core.

Основные моменты:
_ Безопасный вход с выдачей и проверкой JWT.
_ Авторизация на основе пользовательских политик (Claims и Roles).
_ Автоматическая интеграция между сгенерированными API и frontend (Blazor).
_ Защита маршрутов и компонентов на основе прав пользователя.

Преимущества:
_ Надёжная безопасность для современных приложений.
_ Стандартизация модели доступа по профилю и домену.
_ Безопасный и интегрированный пользовательский опыт между слоями приложения.
_ Лёгкость расширения или адаптации под нужды компании.

Безопасность
май 2025 г. v1.0.0-alpha

Поддержка генерации интегрированных фронтендов (Blazor Web Apps)

Завершено

Теперь можно добавить один или несколько фронтендов к сгенерированным проектам с начальной поддержкой Blazor Web Apps — включая модели Server и WebAssembly.

Эти фронтенды автоматически интегрируются с API, сгенерированными инструментом, позволяя создавать полные CRUD-страницы с прямыми вызовами конечных точек backend и сохранением данных в базе.

Основные моменты:
_ Генерация UI на основе доменных сущностей.
_ Нативная связь с сгенерированными API.
_ Полноценная функциональность: фронтенд, бэкенд и база данных работают вместе.
_ Возможность нескольких фронтендов в одном проекте (например: админ, портал, публичный).

Преимущества:
_ Быстрая разработка интерфейсов.
_ Меньше переделок и ручной интеграции.
_ Унифицированный стандарт навигации, стиля и доступа к данным.
_ Повышенная продуктивность с автоматической генерацией CRUD-страниц.

Функция
май 2025 г. v1.0.0-alpha

Поддержка стандарта Transactional Outbox

Завершено

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

Позже background job читает эту outbox и выполняет фактическую отправку события.

Преимущества данного подхода:
_ Обеспечивает согласованность между изменениями в базе и публикацией событий.
_ Избегает потери сообщений при промежуточных сбоях.
_ Позволяет контролировать повторную отправку и аудит опубликованных событий.
_ Соответствует лучшим практикам архитектуры, ориентированной на события и микросервисы.

Функция
апрель 2025 г. v1.0.0-alpha

Поддержка фоновых заданий с Hangfire

Завершено

Была добавлена возможность включения Background Jobs в сгенерированные сервисы — будь то простые или модульные — с использованием библиотеки Hangfire.

Теперь проекты изначально поддерживают планирование и выполнение фоновых задач, включая:
_ Регулярное (cron), запланированное или немедленное выполнение.
_ Мониторинг через встроенную панель управления.
_ Надежная персистенция и повторная обработка заданий.

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

Основные преимущества:
_ Автоматизация повторяющихся и длительных задач без блокировки основного потока.
_ Высокая устойчивость и надёжность фоновых задач.
_ Готовая интеграция с шаблоном Outbox для надёжных событий.
_ Простая настройка и кастомизация заданий для каждого сервиса.
_ Встроенная панель для мониторинга и управления выполнением.

Функция
апрель 2025 г. v1.0.0-alpha

Обмен сообщениями с MassTransit и RabbitMQ

Завершено

Добавлена возможность настройки поддержки асинхронной передачи сообщений с помощью RabbitMQ, используя абстракции и расширенные возможности MassTransit.

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

Основные особенности интеграции:
_ Автоматическая настройка транспорта с RabbitMQ.
_ Публикация и прослушивание событий через MassTransit с нативным внедрением зависимостей.
_ Совместимость с паттерном Transactional Outbox для повышения надежности.

Преимущества:
_ Высокая масштабируемость с событийно-ориентированной коммуникацией.
_ Отвязка производителей и потребителей.
_ Повышенная устойчивость к сбоям и автоматическая повторная обработка.
_ Легкость поддержки и расширения асинхронных бизнес-процессов.

Функция
апрель 2025 г. v1.0.0-alpha

Расширенное управление транзакциями с Unit of Work

Завершено

Реализован надёжный механизм Unit of Work с полным контролем транзакций, управлением доменными событиями, публикацией интеграционных событий (Outbox Pattern), автоматическим откатом и поддержкой шаблона Result для коммита/отката в зависимости от успеха или неудачи операции.

Основные моменты:
_ Явное создание транзакций с контролем уровня изоляции.
_ Публикация Domain Events синхронизирована с сохранением данных.
_ Публикация Integration Events в разомкнутом виде через Outbox Pattern.
_ Автоматический откат и обработка исключений с поддержкой валидации ограничений.
_ Коммит зависит от Result операции.
_ Структурированное логирование событий, транзакций и ошибок.

Преимущества:
_ Транзакционная согласованность между записями в базе и сгенерированными событиями.
_ Гибкость использования стандартного SaveChanges или полного контроля потока.
_ Упрощённое модульное тестирование и отслеживание ошибок.
_ Чёткое разделение между Доменом и Инфраструктурой с поддержкой MediatR.

Улучшение
март 2025 г. v1.0.0-alpha

Отдельная база данных на сервис с поддержкой SQL Server и PostgreSQL

Завершено

Теперь можно индивидуально задать базу данных для каждого сгенерированного сервиса — с нативной поддержкой SQL Server и PostgreSQL.

Этот подход позволяет каждому сервису иметь собственную базу данных, обеспечивая полную изоляцию и упрощая реализацию архитектурных практик, ориентированных на реальные микросервисы.

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

Основные преимущества:
_ Изоляция данных между сервисами, повышение безопасности и ясности ответственности.
_ Возможность поэтапного внедрения микросервисов с независимыми базами данных.
_ Разделение по схемам в модульных сервисах, упрощающее сопровождение и понимание предметной области.
_ Полная гибкость в выборе наиболее подходящей СУБД для каждого сервиса.
_ Упрощённое тестирование, развертывание и горизонтальное масштабирование.

Функция
март 2025 г. v1.0.0-alpha

Поддержка создания простых и модульных сервисов

Завершено

O Lino CLI теперь позволяет разработчику выбирать при генерации проекта между созданием простых сервисов (традиционных) или модульных сервисов, с полной свободой комбинировать оба варианта в зависимости от потребностей решения.

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

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

Преимущества такого подхода:
_ Большее гибкость при моделировании архитектуры.
_ Легкость постепенного перехода от монолита к микросервисам.
_ Чёткое распределение ответственности по доменам или контекстам.
_ Лучшая организация кода и соответствие современным архитектурным практикам.
_ Снижение связности и повышение удобства поддержки.

Разрабатывайте с микросервисами или используйте модульный монолит — вы выбираете идеальный путь для вашего приложения.

Функция
март 2025 г. v1.0.0-alpha

Гибридный кэш с использованием Microsoft.Extensions.Caching.Hybrid

Завершено

Добавлена нативная поддержка гибридного кэша с использованием библиотеки Microsoft.Extensions.Caching.Hybrid.

Реализация объединяет кэш в памяти (MemoryCache) с распределённым кэшем (DistributedCache), обеспечивая лучшее из обоих миров.

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

Преимущества гибридной стратегии:
_ Высокая производительность благодаря немедленному чтению из локальной памяти.
_ Сохранение и совместное использование данных между экземплярами через распределённый кэш.
_ Снижение количества обращений к базе данных и внешним API.
_ Лучшая горизонтальная масштабируемость для приложений с несколькими репликами.
_ Интеллектуальная синхронизация между двумя уровнями кэша.

Идеально для сценариев, требующих высокой производительности и согласованности без ущерба для архитектурной гибкости.

Функция
февраль 2025 г. v1.0.0-alpha

Многоязычная поддержка в сгенерированных проектах

Завершено

Lino CLI теперь генерирует проекты с встроенной поддержкой нескольких языков, включая автоматический перевод для следующих культур:
en, pt-BR, es, fr, it, de, ja, ko, zh-Hans и ru.

Файлы ресурсов (resx) автоматически создаются на основе основного языка, а содержимое переводится автоматически, готовое к немедленному использованию в глобальных приложениях.

Преимущества многоязычной поддержки:
_ Облегчает создание приложений для разных регионов и культур.
_ Сокращает время, необходимое для интернационализации.
_ Натуральная интеграция с системой локализации .NET.
_ Улучшает опыт конечного пользователя в многоязычных приложениях.
_ Позволяет быстро масштабировать решения для глобального рынка.

Функция
февраль 2025 г. v1.0.0-alpha

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

Завершено

Коды, сгенерированные Lino CLI, теперь используют LoggerMessage для более эффективной и производительной записи логов.

В отличие от обычных расширяющих методов ILogger, которые создают boxing значимых типов и влияют на выделение памяти во время выполнения, шаблон LoggerMessage создает строго типизированные и статические Actions для каждого сообщения лога.

Преимущества этого подхода:
_ Значительное снижение выделения памяти.
_ Избегает boxing значимых типов, таких как int, Guid, DateTime и т.д.
_ Лучшее быстродействие в сценариях с большим объемом логов.
_ Стандартизация и централизация сообщений логов.
_ Повышенная ясность при аудите, диагностике и мониторинге.

Это улучшение особенно важно для API и бэкенд-сервисов, где производительность и трассируемость имеют ключевое значение.

Функция
февраль 2025 г. v1.0.0-alpha

Необязательная поддержка Strongly Typed Id

Завершено

Теперь Lino CLI предлагает необязательную поддержку Strongly Typed Ids, позволяя представлять идентификаторы сущностей с помощью строго типизированных специфических типов вместо универсальных, таких как Guid или int.

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

Преимущества использования Strongly Typed Ids:
_ Повышенная типовая безопасность во время компиляции.
_ Исключение случайных присвоений между разными сущностями.
_ Улучшенная читаемость и ясность намерений кода.
_ Упрощённый трекинг и отладка идентификаторов в домене.
_ Интеграция с EF Core, JSON-сериализацией и валидацией.

Функция является необязательной и может быть активирована при генерации проекта.

Функция
январь 2025 г. v1.0.0-alpha

Статический анализ кода, интегрированный в проекты

Завершено

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

Преимущества:
_ Обеспечивает согласованность и стандартизацию кода с самого начала.
_ Раннее обнаружение ошибок и плохих практик.
_ Облегчает ревью кода и техническое введение в проект.
_ Улучшает качество и поддерживаемость кода.
_ Предотвращает распространённые ошибки и улучшает соблюдение лучших практик .NET.

Настройка может быть персонализирована для каждого проекта, обеспечивая большую гибкость в уровне строгости.

Функция
январь 2025 г. v1.0.0-alpha

Стандартизация с использованием Result Pattern

Завершено

Создана библиотека Tolitech.Results, которая полностью и удобно реализует Result Pattern в .NET.

Эта библиотека инкапсулирует результат операций — успешных или с ошибками — в структурированные объекты, содержащие HTTP-статус, сообщения, ошибки, заголовки, детали и опциональные данные (с поддержкой Result<T>).

Преимущества использования Result Pattern:
_ Стандартизация возврата операций по всему приложению.
_ Снижение исключений как средства управления потоком.
_ Упрощение композиции и цепочек операций.
_ Лучшее взаимодействие между слоями и сервисами.
_ Плавная интеграция с HTTP API, валидациями и сообщениями об ошибках.
_ Улучшенный опыт отладки и структурированного логирования.

Кроме того, расширения, такие как Tolitech.Results.Http и Tolitech.Results.Guards, расширяют интеграцию с REST API и защитной валидацией.

Функция
январь 2025 г. v1.0.0-alpha
Произошла необработанная ошибка. Обновить 🗙