* Add prompts for .NET best practices, design pattern review, and GitHub Copilot suggestions - Introduced a comprehensive prompt for ensuring .NET/C# code adheres to best practices, covering documentation, design patterns, dependency injection, resource management, async patterns, testing standards, configuration, AI integration, error handling, performance, security, and code quality. - Added a prompt for reviewing C#/.NET code for design pattern implementation, providing a checklist for required patterns, architecture, best practices, SOLID principles, performance, maintainability, testability, security, documentation, code clarity, and clean code. - Created prompts for suggesting relevant GitHub Copilot chatmodes and prompts based on the current repository context, including a structured process for fetching available chatmodes/prompts, scanning local files, and presenting options with rationale. - Developed a prompt for updating Azure Verified Modules (AVM) in Bicep files, detailing the process for scanning, checking for updates, validating, and handling breaking changes. - Implemented a prompt for updating implementation plans with new requirements, ensuring machine-readable output and adherence to a strict template. - Added a prompt for updating the llms.txt file to reflect changes in documentation or specifications, focusing on compliance with the llmstxt specification. - Created a prompt for updating markdown file indices with files from specified folders, including options for table structures and update strategies. - Developed a prompt for updating object-oriented component documentation, following industry best practices and ensuring alignment with current implementations. - Added a prompt for updating specification files, emphasizing clarity, structure, and compliance with established documentation standards. * CHANGE: Update implementation plan prompt formatting - Renamed prompt title for clarity. - Added spacing for improved readability. - Enhanced structure to ensure compliance with template validation rules. * CHANGE: Fix typo in .NET best practices prompt - Corrected "soltion" to "solution" in the prompt description.
42 lines
3.2 KiB
Markdown
42 lines
3.2 KiB
Markdown
---
|
|
mode: 'agent'
|
|
description: 'Review the C#/.NET code for design pattern implementation and suggest improvements.'
|
|
---
|
|
# .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.
|