72-シンプルさは捨てることによって得られる

プログラマが知るべき97のこと」の72個目のエピソードは、シンプルさとコードの書き直しに関する話です。プログラミングをしていると、思うように実装が進まない事は珍しい話ではありません。色々と試したものの上手くいかなかったり、動いてはいるものの複雑すぎて読みにくいなど、1回で納得がいくコードが書けないのです。勿論、コードがそれなりの出来であれば、リファクタリングをして改善していくでしょう。しかし、コードを全て捨てて書き直してしまう方が有効な事があります。

コードはシンプルなものであるべきです。変数や関数、宣言といった構成要素はできる限り減らすべきです。

試行錯誤をしている時のソースコードは余分なもので溢れています。コードを捨てて最初から書き直すのには勇気が必要ですが、コードを元に戻したとしても頭の中で試行錯誤した事がなくなるわけではありません。混乱した頭をリセットし、新しいキャンバスに、必要なコードを書いていけば、無駄な構成要素はできる限り減ることになるでしょう。とはいえ、リセットする量が多すぎると再び同じ状況に陥ってしまいます。プログラミングをして拡張していく機能の粒度などが適切な大きさであることが前提です。また、コードを元に戻す為にはバージョン管理システムが必要でしょう。バージョン管理システムを使えば、簡単に元に戻すことも出来ますし、任意のタイミングのソースコードに戻すことも出来るでしょう。

良い部分だけを残して悪い部分だけを消す、ということも困難なくらいひどいコードであれば、全部消して、はじめから書き直す方がいいのです。せっかく書いたものを結局全部消したという記憶が頭のどこかにあれば、次からは無駄なコードを書かないでおこうと無意識に気をつけるようになるはずです。

少々荒っぽいやり方ですが、コードを書く訓練として望ましい形なのかもしれません。

プログラマが知るべき97のこと

プログラマが知るべき97のこと