dotnet-design-pattern-review について
C#/.NET プロジェクトを対象に、デザインパターン、アーキテクチャ、開発慣行を確認するレビュー用スキルです。コードは変更せず、具体的な改善案を提示します。
主な機能
- 01デザインパターン実装のレビュー
- 02アーキテクチャと SOLID の評価
- 03非同期処理、性能、保守性の確認
- 04セキュリティ、テスト、ドキュメントの確認
活用シーン
- 01コマンドハンドラーやリポジトリ設計のレビュー
- 02依存性注入や設定の問題の発見
- 03プロジェクトレビュー前のコード確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill dotnet-design-pattern-reviewインストール後、Claude Code で/dotnet-design-pattern-reviewを入力して読み込まれたか確認します。
詳細
.NET/C# デザインパターンレビュー
${selection} 内の C#/.NET コードをデザインパターンの実装についてレビューし、ソリューション/プロジェクトの改善点を提案してください。コードには一切変更を加えず、レビューのみを提供してください。
必須のデザインパターン
- Command パターン: ジェネリック基底クラス(
CommandHandler<TOptions>)、ICommandHandler<TOptions>インターフェース、CommandHandlerOptionsの継承、静的SetupCommand(IHost host)メソッド - Factory パターン: 複雑なオブジェクト生成、サービスプロバイダーの統合
- 依存性注入: プライマリコンストラクター構文、
ArgumentNullExceptionによる null チェック、インターフェースによる抽象化、適切なサービスのライフタイム - Repository パターン: 非同期データアクセスインターフェース、接続に対するプロバイダーの抽象化
- Provider パターン: 外部サービス(データベース、AI)の抽象化、明確なコントラクト、構成の取り扱い
- Resource パターン: ローカライズされたメッセージ用の ResourceManager、個別の .resx ファイル(LogMessages、ErrorMessages)
レビューチェックリスト
- デザインパターン: 使用されているパターンを特定します。Command Handler、Factory、Provider、Repository パターンは正しく実装されていますか? 有益なパターンが欠けていませんか?
- アーキテクチャ: 名前空間の規則(
{Core|Console|App|Service}.{Feature})に従っていますか? Core/Console プロジェクト間の適切な分離はできていますか? モジュール化され、読みやすいですか? - .NET のベストプラクティス: プライマリコンストラクター、Task を返す async/await、ResourceManager の使用、構造化ログ、厳密に型指定された構成を使用していますか?
- GoF パターン: Command、Factory、Template Method、Strategy パターンは正しく実装されていますか?
- SOLID 原則: 単一責任、オープン/クローズド、リスコフの置換、インターフェース分離、依存性逆転の各原則に違反していませんか?
- パフォーマンス: 適切な async/await、リソースの破棄、ConfigureAwait(false)、並列処理の機会はありますか?
- 保守性: 関心の分離が明確ですか? 一貫したエラー処理、適切な構成の使用ができていますか?
- テスト容易性: 依存関係がインターフェースを介して抽象化されていますか? モック可能なコンポーネント、非同期のテスト容易性、AAA パターンとの互換性はありますか?
- セキュリティ: 入力検証、安全な資格情報の取り扱い、パラメーター化されたクエリ、安全な例外処理ができていますか?
- ドキュメント: 公開 API の XML ドキュメント、パラメーター/戻り値の説明、リソースファイルの構成は適切ですか?
- コードの明瞭性: ドメインの概念を反映した意味のある名前、パターンを通じた明確な意図、自己説明的な構造になっていますか?
- クリーンコード: 一貫したスタイル、適切なメソッド/クラスのサイズ、最小限の複雑さ、重複の排除ができていますか?
改善の重点領域
- Command Handler: 基底クラスでの検証、一貫したエラー処理、適切なリソース管理
- Factory: 依存関係の構成、サービスプロバイダーの統合、破棄パターン
- Provider: 接続管理、非同期パターン、例外処理とログ出力
- 構成: データ注釈、検証属性、機密値の安全な取り扱い
- AI/ML 統合: Semantic Kernel パターン、構造化出力の取り扱い、モデル構成
プロジェクトのアーキテクチャと .NET のベストプラクティスに沿った、具体的で実行可能な改善の推奨事項を提供してください。
コメント
Markdown 対応