何を見つけたか
lib/devbase/commands/container.py の _ensure_env_files() が約 90 行あり、env の初期化の起動・プロジェクトの env の作成・失敗時の戻り値の判定が 1 つの関数に入っている。cross-refactoring の提案(R3-004、兆候 long_method、手法 extract_method)として挙がった。
どこで見つけたか
PR #263 の構造改善(cross-refactoring)の提案ラウンド 1。適用されたコミット c2d75e0 は PR から戻した(a81af47)。改修計画: #263 (comment)
なぜこの変更の範囲外なのか
PR #263(PLAN68、#248)はスナップショットの系列を扱う。_ensure_env_files は PR の差分に含まれず、受け入れ条件のどれにも関わらない。--scope がファイル単位のため、同じファイルの既存の関数へ提案が向いた。
直さないと何が起きるか
振る舞いの不具合ではない。env の作成まわりを変えるたびに、長い関数の中の分岐を読み解く手間が残る。適用の際に足された現状固定テスト(非 0 終了・起動の例外・touch の失敗で False を返す 3 件)も、分割と併せて入れるとよい。
由来
PR #263
何を見つけたか
lib/devbase/commands/container.pyの_ensure_env_files()が約 90 行あり、env の初期化の起動・プロジェクトの env の作成・失敗時の戻り値の判定が 1 つの関数に入っている。cross-refactoring の提案(R3-004、兆候 long_method、手法 extract_method)として挙がった。どこで見つけたか
PR #263 の構造改善(cross-refactoring)の提案ラウンド 1。適用されたコミット c2d75e0 は PR から戻した(a81af47)。改修計画: #263 (comment)
なぜこの変更の範囲外なのか
PR #263(PLAN68、#248)はスナップショットの系列を扱う。
_ensure_env_filesは PR の差分に含まれず、受け入れ条件のどれにも関わらない。--scopeがファイル単位のため、同じファイルの既存の関数へ提案が向いた。直さないと何が起きるか
振る舞いの不具合ではない。env の作成まわりを変えるたびに、長い関数の中の分岐を読み解く手間が残る。適用の際に足された現状固定テスト(非 0 終了・起動の例外・touch の失敗で False を返す 3 件)も、分割と併せて入れるとよい。
由来
PR #263