mcpField
D
dotnet-design-pattern-review

dotnet-design-pattern-review

github.com/githubテスト・品質40.5k11.6k 回インストール今日更新
リポジトリ

dotnet-design-pattern-review について

C#/.NET プロジェクトを対象に、デザインパターン、アーキテクチャ、開発慣行を確認するレビュー用スキルです。コードは変更せず、具体的な改善案を提示します。

主な機能

  1. 01デザインパターン実装のレビュー
  2. 02アーキテクチャと SOLID の評価
  3. 03非同期処理、性能、保守性の確認
  4. 04セキュリティ、テスト、ドキュメントの確認

活用シーン

  1. 01コマンドハンドラーやリポジトリ設計のレビュー
  2. 02依存性注入や設定の問題の発見
  3. 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 のベストプラクティスに沿った、具体的で実行可能な改善の推奨事項を提供してください。

コメント