mcpField
S
Simplification Cascades

Simplification Cascades

github.com/obra開発756521 回インストール54 週間前に更新
リポジトリ

Simplification Cascades について

Simplification Cascades は、ソフトウェア設計の複雑さを減らす開発者向けスキルです。繰り返しの実装に共通する原則を見つけ、適切な抽象化につなげます。

主な機能

  1. 01重複実装の発見
  2. 02共通原則の特定
  3. 03汎用的な抽象化
  4. 04事例への適合性の検証
  5. 05削減できた複雑さの測定

活用シーン

  1. 01重複するコード経路の削減
  2. 02増え続ける例外処理の整理
  3. 03例外の多いルールの簡素化

インストール

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

$npx skills add https://github.com/obra/superpowers-skills --skill simplification-cascades

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

詳細

単純化の連鎖

概要

ひとつの洞察によって、10個もの要素が不要になることがあります。複数のコンポーネントを不要にする統一原則を探しましょう。

基本原則:「すべては……の特殊ケースです」と捉えることで、複雑さを大幅に減らせます。

クイックリファレンス

症状考えられる連鎖
同じものが5通り以上実装されている共通パターンを抽象化する
増え続ける特殊ケースのリスト一般的なケースを見つける
例外だらけの複雑なルール例外のないルールを見つける
過剰な設定オプション95%のケースで機能するデフォルトを見つける

パターン

探すべきもの:

  • 類似する概念の複数の実装
  • あらゆる箇所にある特殊ケースへの対応
  • 「A、B、C、Dはそれぞれ異なる方法で処理する必要があります……」
  • 多くの例外がある複雑なルール

問いかけること:「根本では、どれも同じだとしたら?」

例

連鎖1:ストリームの抽象化

変更前: バッチ/リアルタイム/ファイル/ネットワークデータ用に個別のハンドラー 洞察:「すべての入力はストリームであり、違うのはソースだけです」 変更後: ひとつのストリームプロセッサーと、複数のストリームソース 不要になったもの: 個別実装4つ

連鎖2:リソースガバナンス

変更前: セッション追跡、レート制限、ファイル検証、接続プーリング(すべて個別) 洞察:「いずれもエンティティごとのリソース制限です」 変更後: 4種類のリソースを扱うひとつの ResourceGovernor 不要になったもの: カスタムの強制システム4つ

連鎖3:イミュータビリティ

変更前: 防御的コピー、ロック、キャッシュの無効化、時間的結合 洞察:「すべてをイミュータブルなデータと変換として扱います」 変更後: 関数型プログラミングのパターン 不要になったもの: 同期に関する問題のクラス全体

手順

  1. バリエーションを列挙する - 複数の方法で実装されているものは何ですか?
  2. 本質を見つける - 根本では何が同じですか?
  3. 抽象化を取り出す - ドメインに依存しないパターンは何ですか?
  4. 検証する - すべてのケースがすっきり当てはまりますか?
  5. 連鎖の効果を測る - 何がどれだけ不要になりますか?

連鎖を見逃している兆候

  • 「もうひとつケースを追加すればいいだけです……」(いつまでも繰り返す)
  • 「これらはどれも似ていますが、違います」(もしかすると同じものでは?)
  • リファクタリングがモグラたたきのように感じる(一つ直すと、別の箇所が壊れる)
  • 設定ファイルが肥大化している
  • 「そこは触らないでください。複雑なので」(パターンが複雑さに隠れている)

覚えておくこと

  • 単純化の連鎖は、10%の改善ではなく10倍の成果をもたらします
  • 強力な抽象化ひとつは、巧妙なハック10個に勝ります
  • パターンはたいていすでに存在しており、見つけるだけです
  • 「いくつ削除できるか」で効果を測りましょう

コメント