complexity-guardrails について
ソフトウェアの複雑さを初期段階から抑えるためのコーディングスキルです。関数やモジュールの目安と、開発者向けのリファクタリング手法を示します。
主な機能
- 01サイクロマティック複雑度の目標
- 02関数の行数制限
- 03単一責任の指針
- 04分岐のリファクタリング手法
- 05処理フェーズの分離
活用シーン
- 01コードベースの複雑度基準の設定
- 02深いネストを含む関数の改修
- 03検証処理とI/Oの分離
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ noartem/ skills --skill complexity-guardrailsインストール後、Claude Code で/complexity-guardrailsを入力して読み込まれたか確認します。
詳細
複雑さのガードレール
最初から複雑さを抑える設計にします。
目標
- 関数ごとの循環的複雑度 ≤ 7(5 から分割を始めます)
- 関数の長さ ≤ 80 行(≤ 30 行を目指します)
- 関数ごとに責務を 1 つにし、モジュールごとに変動要因を 1 つにします
手法
- 早期リターンとガード節を使い、深いネストを避けます
- 分岐の本体を名前付きヘルパーに切り出します
- 長い if/else/switch をテーブル(マップ)またはストラテジーに置き換えます
- フェーズを分離します:解析 → 検証 → 正規化 → 実行
今すぐリファクタリングすべき兆候
- テストが難しいコードパス
- 微妙に異なる条件分岐の繰り返し
- 1 つのメソッド内で関心事(IO、検証、変換)が混在している
コメント
Markdown 対応