dotnet-design-pattern-review

от github

Всесторонний анализ шаблонов проектирования C#/.NET с практическими рекомендациями по улучшению. Оценивает шесть основных паттернов: Command, Factory, Dependency Injection, Repository, Provider и Resource на соответствие принципам GoF и SOLID. Анализирует соответствие архитектуре, включая соглашения о пространствах имен, разделение проектов, шаблоны async/await и реализацию структурированного логирования. Проверяет качество кода по аспектам безопасности, тестируемости, поддерживаемости и производительности с конкретными...

npx skills add https://github.com/github/awesome-copilot --skill dotnet-design-pattern-review

.NET/C# Design Pattern Review

Review the C#/.NET code in ${selection} for design pattern implementation and suggest improvements for the solution/project. Do not make any changes to the code, just provide a review.

Required Design Patterns

  • Command Pattern: Generic base classes (CommandHandler<TOptions>), ICommandHandler<TOptions> interface, CommandHandlerOptions inheritance, static SetupCommand(IHost host) methods
  • Factory Pattern: Complex object creation service provider integration
  • Dependency Injection: Primary constructor syntax, ArgumentNullException null checks, interface abstractions, proper service lifetimes
  • Repository Pattern: Async data access interfaces provider abstractions for connections
  • Provider Pattern: External service abstractions (database, AI), clear contracts, configuration handling
  • Resource Pattern: ResourceManager for localized messages, separate .resx files (LogMessages, ErrorMessages)

Review Checklist

  • Design Patterns: Identify patterns used. Are Command Handler, Factory, Provider, and Repository patterns correctly implemented? Missing beneficial patterns?
  • Architecture: Follow namespace conventions ({Core|Console|App|Service}.{Feature})? Proper separation between Core/Console projects? Modular and readable?
  • .NET Best Practices: Primary constructors, async/await with Task returns, ResourceManager usage, structured logging, strongly-typed configuration?
  • GoF Patterns: Command, Factory, Template Method, Strategy patterns correctly implemented?
  • SOLID Principles: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion violations?
  • Performance: Proper async/await, resource disposal, ConfigureAwait(false), parallel processing opportunities?
  • Maintainability: Clear separation of concerns, consistent error handling, proper configuration usage?
  • Testability: Dependencies abstracted via interfaces, mockable components, async testability, AAA pattern compatibility?
  • Security: Input validation, secure credential handling, parameterized queries, safe exception handling?
  • Documentation: XML docs for public APIs, parameter/return descriptions, resource file organization?
  • Code Clarity: Meaningful names reflecting domain concepts, clear intent through patterns, self-explanatory structure?
  • Clean Code: Consistent style, appropriate method/class size, minimal complexity, eliminated duplication?

Improvement Focus Areas

  • Command Handlers: Validation in base class, consistent error handling, proper resource management
  • Factories: Dependency configuration, service provider integration, disposal patterns
  • Providers: Connection management, async patterns, exception handling and logging
  • Configuration: Data annotations, validation attributes, secure sensitive value handling
  • AI/ML Integration: Semantic Kernel patterns, structured output handling, model configuration

Provide specific, actionable recommendations for improvements aligned with the project's architecture and .NET best practices.

Больше skills от github

console-rendering
github
Инструкции по использованию системы консольного рендеринга на основе тегов структур в Go
official
acquire-codebase-knowledge
github
Используйте этот навык, когда пользователь явно просит составить карту, задокументировать или ознакомиться с существующей кодовой базой. Активируйте по запросам вроде "составь карту этой кодовой базы", "задокументируй…
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
Генерирует настраиваемые файлы инструкций для ИИ-агентов через команду инструкций AgentRC. Создаёт .github/copilot-instructions.md (по умолчанию, рекомендуется для Copilot в VS…
official
acreadiness-policy
github
Помочь пользователю выбрать, написать или применить политику AgentRC. Политики настраивают оценку готовности, отключая нерелевантные проверки, переопределяя влияние/уровень, задавая…
official
add-educational-comments
github
Добавляет учебные комментарии в файлы с кодом, превращая их в эффективные учебные ресурсы. Адаптирует глубину и тон объяснений под три настраиваемых уровня знаний: начальный, средний и продвинутый. Автоматически запрашивает файл, если он не предоставлен, с нумерованным списком для быстрого выбора. Расширяет файлы до 125% только за счёт учебных комментариев (жёсткое ограничение: 400 новых строк; 300 для файлов длиннее 1000 строк). Сохраняет кодировку файла, стиль отступов, синтаксическую корректность и...
official
adobe-illustrator-scripting
github
Пишите, отлаживайте и оптимизируйте скрипты автоматизации Adobe Illustrator с помощью ExtendScript (JavaScript/JSX). Используйте при создании или изменении скриптов, которые управляют…
official
agent-governance
github
Декларативные политики, классификация намерений и журналы аудита для контроля доступа и поведения инструментов ИИ-агентов. Компонуемые политики управления определяют разрешённые/заблокированные инструменты, фильтры контента, ограничения скорости и требования к утверждению — хранятся как конфигурация, а не код. Семантическая классификация намерений обнаруживает опасные запросы (утечка данных, повышение привилегий, инъекция подсказок) до выполнения инструмента с помощью сигналов на основе шаблонов. Декоратор управления на уровне инструмента применяет политики на функции...
official