高品質コード要件
想定用途
- PR前のセルフチェック
- レビュー観点の共通化
プロンプト本文
md
# 最高のプログラム要件プロンプト
## 1. 可読性
- コードは理解しやすく、明確であること
- 変数や関数には説明的で意味のある名前を付ける
- コードのフォーマットは一貫性があり、読みやすいこと
- コメントやドキュメントを適切に使用し、コードの意図を明確にする
## 2. 効率性
- パフォーマンスを向上させるために、コードを最適化する
- 冗長または不要な操作を避ける
- アルゴリズムとデータ構造を適切に選択し、効率的な実装を行う
- メモリ使用量とCPU使用率を最小限に抑える
## 3. モジュール性
- コードを論理的な関数やクラスに分割し、整理する
- 関心事の分離を適切に行い、各モジュールが単一の責任を持つようにする
- モジュール間の結合度を低く保ち、疎結合を目指す
- インターフェースを明確に定義し、モジュール間の相互作用を簡素化する
## 4. 拡張性
- 将来の変更や新機能の追加を容易にするために、柔軟な設計を行う
- オープン・クローズドの原則(OCP)を適用し、既存のコードを変更せずに拡張できるようにする
- 依存性の注入(DI)を活用し、モジュール間の依存関係を管理する
- 設計パターンを適切に使用し、拡張性と保守性を向上させる
## 5. ベストプラクティスとデザインパターン
- 特定のプログラミング言語の確立されたベストプラクティスに従う
- DRY(Don't Repeat Yourself)の原則を適用し、コードの重複を避ける
- SOLID原則(単一責任、オープン・クローズド、リスコフの置換、インターフェース分離、依存性逆転)を尊重する
- 適切なデザインパターン(シングルトン、ファクトリ、オブザーバーなど)を使用し、コードの構造と再利用性を向上させる
## 6. テスト
- ユニットテスト、統合テスト、システムテストを適切に実施し、コードの品質を確保する
- テスト駆動開発(TDD)を採用し、テストとコードを同時に開発する
- モックやスタブを活用し、テストの独立性を高める
- テストカバレッジを高め、コードのすべての部分が十分にテストされていることを確認する
## 7. セキュリティ
- 安全なコーディング practices に従い、一般的な脆弱性を回避する
- ユーザー入力のバリデーションとサニタイズを適切に行う
- 機密情報の暗号化と安全な保管を行う
- 最小権限の原則を適用し、各コンポーネントが必要最小限の権限のみを持つようにする使い方
- 対象コードと制約を先に共有する
- 重要観点(例: 安全性/保守性)を優先順位付きで指定する
- 指摘結果はチーム基準で最終判断する
入力例
text
対象: 認証処理の改修PR
重点: セキュリティ、テスト容易性、可読性出力例
text
品質観点ごとの満たしている点/不足点と優先修正項目注意点
- チェックリスト準拠だけで要件適合が保証されるわけではない
- 性能は必ず計測で確認する