Skip to content

commands/container.py の _ensure_env_files が長く、env の作成の各段が 1 関数に入っている #265

Description

@takemi-ohama

何を見つけたか

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions