--- name: applying-solid-principles description: This skill should be used when implementing code that requires SOLID principles and clean code practices. It provides detailed guidance on Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion principles with comparison examples in TypeScript. --- # SOLID原則とクリーンコード - ファイル内容 このドキュメントは、すべてのコード実装で必須となるSOLID原則とクリーンコード実践ガイドです。 ## 主要な構成要素 このスキルは4つの詳細ドキュメントで構成されています: 1. **SOLID原則の詳細** - 5つの設計原則(単一責任、開放閉鎖、リスコフの置換、インターフェース分離、依存関係逆転)の解説と比較例 2. **クリーンコードの基礎** - 日常的な実装における命名規則、関数設計、ネスト削減、マジックナンバー排除の基本 3. **品質チェックリスト** - 設計原則の遵守確認、コードスメル検出、リファクタリング判断基準 4. **クイックリファレンス** - 迅速な参照用に1行要約、一般的な誤りと修正方法、コードレビューポイント ## 5つのSOLID原則 ドキュメントでは、「変更する理由は1つだけ」という単一責任から始まり、拡張性と保守性を支えるパターンについて体系的に説明しています。 ## 関連する補足原則 記載されているDRY、YAGNI、KISSといった追加原則も、設計の実効性を高めるための枠組みを提供しています。