Pattern Thinking Skill
📋 実行前チェック(必須)
このスキルを使うべきか?
- • 新しい機能を設計する?
- • 依存性管理の方針を決定する?
- • 状態管理を設計する?
- • 既存コードをリファクタリングする?
- • 「どのパターンを使うべきか」の判断が必要?
前提条件
- • 問題の特性を分析したか?
- • 変化の軸を特定したか?
- • 制約条件を把握したか?
禁止事項の確認
- • 「とりあえずこのパターン」で決めようとしていないか?
- • 問題を分析せずにパターンを適用しようとしていないか?
- • 過剰なパターン適用をしようとしていないか?(YAGNI)
トリガー
- •新しい機能の設計時
- •依存性管理の方針決定時
- •状態管理の設計時
- •既存コードのリファクタリング時
- •「どのパターンを使うべきか」という判断が必要な時
🚨 目的
コード設計において「よくあるパターン」に安易に飛びつかず、問題の本質に合った パターンを選択する。必要に応じて独自アプローチも積極的に提案する。
思考プロセス
Phase 1: 問題の特性分析
実装に入る前に、以下を明確にする:
変化の軸
- •何が変わりやすいか?
- •何が安定しているか?
制約条件
- •パフォーマンス要件は?
- •チームのスキルセットは?
- •既存コードとの整合性は?
Phase 2: パターン候補の列挙
- •既知のパターン(GoF, DDD等)
- •プロジェクト固有のパターン
- •独自アプローチ
Phase 3: トレードオフ分析
各候補について:
- •メリット
- •デメリット
- •適用条件
Phase 4: 選択と文書化
選んだ理由を明確に記録。
🚫 禁止事項まとめ
- •「とりあえずこのパターン」
- •問題分析なしのパターン適用
- •過剰なパターン適用(YAGNI違反)
- •選択理由の文書化忘れ