You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: использовать Expression<Func<Project, DateTime, bool>> в KogdaIgraMissingGamesPredicate
- GetPredicate() возвращает Expression для трансляции в SQL через LinqKit
- DisableKogdaIgraMapping и Active перенесены внутрь предиката
- ProjectRepository.GetKogdaIgraMissingGames использует predicate.Invoke()
- Тесты обновлены: создают Project-объекты и вызывают GetPredicate().Compile()()
- Добавлены тесты на DisableKogdaIgraMapping=true и Active=false
- Создан docs/linq-queries.md с документацией по LinqKit-паттерну
- CLAUDE.md обновлён со ссылкой на docs/linq-queries.md
Co-authored-by: Leonid Tsarev <leotsarev@users.noreply.github.com>
Небольшие интерактивные виджеты Blazor встраиваются в Razor-страницы.
@@ -83,6 +88,10 @@ dotnet test src/JoinRpg.Domain.Test # Конкретный тест
83
88
84
89
Для понимания кода предпочитай **cwm-roslyn-navigator** (MCP) перед чтением файлов. Roslyn понимает семантику C#: типы, иерархии наследования, реальные использования символов. Используй `find_symbol`, `find_references`, `find_callers`, `find_implementations`, `get_type_hierarchy` и другие инструменты навигатора для навигации по коду. Чтение файлов — только когда нужен полный контекст, которого навигатор не даёт.
85
90
91
+
## Фикс багов
92
+
93
+
При исправлении бага **всегда рассматривать добавление юнит теста**, который воспроизводит баг до фикса и проходит после. Это предотвращает регрессии. Тест добавляется в соответствующий тестовый проект.
94
+
86
95
## Правила кода
87
96
88
97
-**Без regex** — по возможности избегать регулярных выражений.
0 commit comments