このページは原文を AI が翻訳したものです。

無欲速、無見小利;欲速則不達、見小利則大事不成。

——『論語』

最近、Phoenix から Rails に移行したプロジェクトをリファクタリングしています。

自分で使っている個人プロジェクトなので、機能を追加するときは事前に計画を立てず、「とりあえず書いてみる」スタイルで進め、問題が出たら後から少しずつ改善する、というやり方をよくしています。

でも、このやり方には明らかな副作用があります。

新しく追加したコードが、元々の構造を混乱させ、保守しにくくしてしまうのです。

そんなとき、ジレンマに陥ります——

とりあえずこのまま使うか、それとも時間をかけて徹底的にリファクタリングするか。

現状を維持するのは気持ちが落ち着かず、

リファクタリングにはさらに時間がかかる。

そこで、自分に問いかけ始めました——

実は、書きながら直すより、手を動かす前に少し時間を取って、次のことを明確にしておくほうがいいのです。

何を実現したいのか?境界はどこか?この部分の責務は何か?

準備が整えば、コードも自然とすっきりします。

「考えてから書く」のは一見遅そうですが、実はもっと速いのです。

『ジョジョの奇妙な冒険 スティール・ボール・ラン』の名台詞にある通り——

ジョニィ、次は Lesson 5だ。遠回りこそが最短の道だぜ。
Epona
執筆Epona

There's nothing wrong with having a little fun

x.com/simura_epona

コメントを読み込み中…