すべてのコードを育てる必要はない
Pythonを書くとき、
「このコードはちゃんと設計すべきか?」と
迷うことがあります。
結論から言うと、
すべてのコードを育てる必要はありません。
問題は、
書き捨てのつもりだったコードが、
いつの間にか中核になってしまうことです。
書き捨てにしていいコードの特徴
書き捨てにして問題ないコードには、
だいたい次の特徴があります。
- 一度きりで役目が終わる
- 実行結果だけが重要
- 将来変更される予定がない
たとえば、
- 一回限りのデータ変換
- その場しのぎの検証スクリプト
こうしたコードに、
過剰な設計は必要ありません。
いけない「書き捨て化」
危険なのは、
育てるべきコードを、書き捨て扱いすること です。
- 毎日使っている
- 他の処理から呼ばれている
- 業務フローに組み込まれている
それにもかかわらず、
- 名前が適当
- 処理が詰め込まれている
- 判断理由が残っていない
この状態が一番壊れやすくなります。
分岐点は「使われ方」
書き捨てか、育てるかの判断は、
使われ方 で決まります。
- 何回使うか
- 誰が使うか
- 変更される可能性はあるか
これらに一つでも「はい」が増えたら、
設計を考えるタイミングです。
境界を明示するという設計
判断を楽にする方法があります。
- 書き捨てコードは専用フォルダに置く
- 育てるコードは名前と構造を整える
- 仮は仮として見える形にする
「どちらなのか分からない」状態を
作らないことが重要です。
作って分かったこと
このテーマを通して分かったのは、
- 書き捨ては悪ではない
- 判断を間違えると負債になる
- 境界を決めるのも設計
ということです。
おわりに
この話は、
書き捨てにしていいコードと
育てるべきコードの違いを
設計の視点で整理した記録です。
次は、
壊れにくさと柔軟さの
トレードオフについて考えます。


コメント