「とりあえず動く」コードが限界を迎えた瞬間|Python実践ログ | SORAXIOM

「とりあえず動く」コードが限界を迎えた瞬間

スポンサーリンク
Python実践ログ
スポンサーリンク

最初は「動けばいい」と思っていた

Pythonでツールや自動化を作り始めたとき、
よく自分に言い聞かせていた言葉があります。

「まずは動けばいい」

間違いではありません。
ですが、この考え方には寿命があります。


とりあえず動いていたコード

実際に使っていたコードは、
こんな形でした。

def run():
    files = os.listdir("data")
    for f in files:
        if f.endswith(".csv"):
            rows = read_csv(f)
            for r in rows:
                if r["flag"] == "1":
                    r["value"] = int(r["value"]) + 10
            write_csv(rows)

書いた当初は問題ありませんでした。
1回きりの処理だったからです。


少しずつ条件が増えていく

しばらく使っていると、
次のような要望が出てきました。

  • 別フォルダにも対応したい
  • 条件を切り替えたい
  • 処理結果をログに残したい

この時点で、
コードは一気に触りづらくなりました。


限界を感じたポイント

一番つらかったのは、

  • どこを直せばいいか分からない
  • 触るのが怖い
  • 動いている理由を説明できない

という状態になったことです。

「動いているけど、理解していない」
コードになっていました。


直すためにやったこと

やったことは、難しくありません。

  • 処理の流れを書き出す
  • 役割ごとに分ける
  • 名前を付け直す
def load_target_files(path):
    return [f for f in os.listdir(path) if f.endswith(".csv")]

def process_rows(rows):
    for r in rows:
        if r["flag"] == "1":
            r["value"] = int(r["value"]) + 10
    return rows

これだけで、
コードの見え方が大きく変わりました。


作って分かったこと

この経験で分かったのは、

  • 「とりあえず動く」は長く使えない
  • 説明できないコードは危ない
  • 直せる形にするのが一番の近道

ということです。


おわりに

この話は、
「とりあえず動く」で書いたコードが
限界を迎えた瞬間を記録した実践ログです。

早めに立ち止まれたことが、
結果的には一番の改善でした。

コメント

タイトルとURLをコピーしました