principle-boundary-discipline について
システム境界で検証とエラー処理を行い、ビジネスロジックを純粋関数に分けるためのコーディングスキルです。フレームワークの配線に依存せず、テストしやすいコードを目指す開発者向けです。
主な機能
- 01システム境界でデータを検証
- 02内部では型付きデータを信頼
- 03ビジネスロジックを純粋関数に分離
- 04解析処理とフレームワーク配線を分離
活用シーン
- 01CLI 引数や設定を検証
- 02スコアリング処理を純粋関数に抽出
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ poteto/ plugins --skill principle-boundary-disciplineインストール後、Claude Code で/principle-boundary-disciplineを入力して読み込まれたか確認します。
詳細
境界の規律
検証、型の絞り込み、エラー処理はシステム境界に配置します。内部コードは無条件に信頼します。ビジネスロジックは純粋関数に置き、シェルは薄く機械的なものにします。
理由: 検証が散在すると、冗長でノイズが多く、安全であるという誤った安心感を生みます。データの検証は境界で一度だけ行います。フレームワークの配線からロジックを切り離し、フレームワークなしでテストできるようにします。
パターン:
- 境界(CLI 引数、設定ファイル、外部 API、ネットワークプロトコル)では: 検証し、エラーを返し、防御的に処理します。
- システム内部では: 型付けされたデータ、エラーの伝播、再検証なし。型を信頼します。
適用例:
検証とエラー処理:
- ビジネスロジックの内部ではなく、解析時(境界)に設定を検証します
- 境界では生データを保存し、使用箇所で遅延解析します
- 境界ですでに検証されている場合は、呼び出しチェーンの奥深くで冗長な nil チェックを行いません
コード構成:
- フレームワークに依存しない純粋関数にビジネスロジックを置きます
- 解析関数:生のバイト列を型付けされた状態に変換する純粋な変換処理
- プロンプトの構築:構造化された状態を入力し、文字列を出力します
- スコアリングと評価:状態を結果に変換する純粋な変換処理
テスト:
- 「このデータは今、システム境界を越えていますか?」そうでなければ、検証は冗長です。
- 「シェルから呼び出すだけの純粋関数にできますか?」できるなら、切り出します。
コメント
Markdown 対応