mcpField
P
principle-foundational-thinking

principle-foundational-thinking

github.com/poteto開発161101 回インストール22 週間前に更新
リポジトリ

principle-foundational-thinking について

将基盤となる設計で柔軟性を保ちつつ、コードをシンプルにする開発スキルです。データ構造、共通基盤の早期整備、並行更新される状態の分離を重視します。

主な機能

  1. 01ロジックより先にデータ形状を決定
  2. 02巧妙さより明示的なコード
  3. 03一行ごとでなく構造を抽象化
  4. 04並行共有状態を分離
  5. 05共通基盤を早期に整備
  6. 06基盤整備前に不要物を削除

活用シーン

  1. 01実装前のコア型の設計
  2. 02機能開発前のテストと CI の整備
  3. 03共有状態の並行処理の確認

インストール

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

$npx skills add https://github.com/poteto/plugins --skill principle-foundational-thinking

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

詳細

基盤を考える

構造に関する決定は、選択肢の価値を守ります。コードレベルの決定は、シンプルさを守ります。過剰な設計は、選択肢を閉ざす時期尚早な決定であることがよくあります。適切な基盤となるデータ構造は、選択肢を開いたままにします。

**まずデータ構造から。**ロジックを書く前に、データの形を正しく整えましょう。適切な形にすれば、その後のコードが明快になります。中核となる型を早い段階で定義し、すべてのアクセスパターンをたどって、主要な処理経路に合った構造を選びましょう。後からデータ構造を変更するのは書き直しになります。早い段階なら、1行の差分で済むこともよくあります。

コードレベルでは、すべての行ではなく構造に対して DRY を適用しましょう。型とデータモデルは統一すべきです。似た文が3つあっても、時期尚早な抽象化よりはましです。巧妙さより明示性を優先しましょう。行数ではなく、振る舞いとエッジケースをテストしてください。

**並行処理に関する補足。**アクター間で状態を共有する前に、「別のアクターが同時に変更したらどうなるか?」と問いましょう。答えが「何も起きない」でなければ、分離してください。

**まず足場を整える。**後続のすべてのフェーズに役立つものがあれば、最初に取り組みましょう。「これがすでにあることで、その後のすべてのフェーズにメリットがあるか?」と問いましょう。CI、リンティング、テスト基盤、共有型は足場です。選択肢の価値を高める順序にしましょう。機能より先にセットアップを、修正より先にテストを行います。コミットは小さく、目的を1つに絞りましょう。

足場を整える前に、まず削ぎ落とします。不要なものを取り除いてから、基盤を築きましょう。

コメント