mcpField
P
principle-boundary-discipline

principle-boundary-discipline

github.com/q-qp-p開発148 回インストール2 週間前に更新
リポジトリ

principle-boundary-discipline について

システム境界で検証とエラー処理を行うためのコーディングスキルです。業務ロジックを純粋関数に置き、型付け済みの内部データは信頼する方針を示します。

主な機能

  1. 01システム境界で入力を検証
  2. 02生データをドメイン型に変換
  3. 03業務ロジックを純粋関数に配置
  4. 04内部での重複チェックを回避

活用シーン

  1. 01CLI 引数と設定の検証
  2. 02外部 API やプロトコルのデータ処理
  3. 03フレームワーク配線と業務ロジックの分離

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/q-qp-p/pstack --skill principle-boundary-discipline

インストール後、Claude Code で/principle-boundary-disciplineを入力して読み込まれたか確認します。

詳細

境界での責務分離

検証、型の絞り込み、エラーハンドリングはシステム境界に配置します。内部コードは無条件に信頼します。ビジネスロジックは純粋関数に記述します。シェルは薄く、機械的なものにします。

理由: 検証が散在すると煩雑で冗長になり、安全性について誤った安心感を与えます。フレームワークの配線処理にロジックを持ち込まないことで、フレームワークなしでテストできます。

パターン:

  • 境界では(CLI 引数、設定ファイル、外部 API、ネットワークプロトコル):検証し、エラーを返し、防御的に処理します。
  • システム内部では: 型付けされたデータを使い、エラーを伝播させ、再検証はしません。型を信頼します。
  • 境界を越える際は。 境界の内部表現ではなく、ドメインの概念を公開します。汎用的な仕組みは内部に置き、特定用途のポリシーは境界に置きます。

適用例:

検証とエラーハンドリング:

  • ビジネスロジック内ではなく、解析時(境界)に設定を検証します
  • 境界で生データをドメイン型に変換します
  • 公開インターフェースを通じて、転送、ストレージ、フレームワーク、ワイヤーの各種型を再エクスポートしません
  • 境界ですでに検証済みなら、呼び出しチェーンの奥深くで冗長な nil チェックを行いません

コードの構成:

  • ビジネスロジックは、フレームワークに依存しない純粋関数に記述します
  • 解析関数:生バイト列を型付き状態に変換する純粋変換
  • プロンプトの構築:構造化された状態を入力し、文字列を出力
  • スコアリングと評価:状態を結果に変換する純粋変換

テスト時の確認事項:

  • 「このデータは今、システム境界を越えているか?」そうでなければ、検証は冗長です。
  • 「シェルから呼び出すだけの純粋関数にできるか?」できるなら、切り出します。

コメント