ベストプラクティスの生き証人「Unixという考え方」

2012–07–09

気がつけば我が家はUnix系と言われるOSばかりになっていました。 デスクトップはUnix系OSであるLinux(Gentoo Linux)、iPadのiosやノートPC(MacBook Air)のMaxOsXはUnix系OSであるDarwin、スマートフォンはLinuxをベースにしたAndroidOSで動いています。 これもUnixの定理の一つである移植性のなせる技なんでしょう。

本書はUnixに貫かれる基本方針をひも解き、ソフトウェアを作る上での定理を示してくれます。 本書にかかれている定理は、ネットや本でよく言われる事柄です。

例えば、「できるだけ早く試作を作成する」という定理は、動くソフトウェアを重視するアジャイルの考え方で謳われています。 「一つのプログラムは一つの事をうまくやらせる」という定理は、なんでも出来るクラスではなく、責務を限定してクラスを作るクラス設計の基本でも良く言われることです。 「ソフトウェアの梃子を有効に活用する」考え方は、車輪の再発明をするなという言い方でよく聞かれることです。

いわゆるベストプラクティスが書かれているわけですが、Unixにどのような良い影響をもたらしたのか、一つ一つの定理について事細かに説明してくれます。 これまで、上記の言葉を聞いたことがある方も、現在のUnix系OSの席巻と本書の内容で説得力がますと思います。

本書で一番しびれた台詞は 「ソフトウェアに完成はない、あるのはリリースだけだ!」 ってとこでした。 ソフトウェアはリリースした後もずっと手がはいる、だから変更しやすいコードを書くようにするんですものね。