設計の意図・思想を読み取る

コードにしても、設計書にしても設計の意図・思想を読み取って実装することは大事だ。実はソフトウェアを利用する人にとっても重要だったりする。

先日本屋で見つけた「PowerShell実践スクリプティング」はPowerShellの入門書ではなく、設計思想を説くことで、PowerShellの思想を理解することを目的にした意欲的な本。あんまりWindows関係の本に興味がなかった自分も興味シンシンですよ。Microsoftはなぜ今コマンドラインシェルを再度リリースしたのか、意味が分からなかったので。そのあたりも含めて開設している本書はとてもいい。

ところで話を変えますが、ライブラリやフレームワークを利用する際、設計思想やその意図を読み取った上で実装していますか?それが分かった上で実装するのとしないのとでは実装効率は全然違いますし、できあがったものの美しさも違うのではないかと思うわけです。

自分はオープンソースのものをメインに使ってきたので、ソースから思想や意図を予測しながら実装を進めていますが、世のHowTo記事は「どうやって実装するか」という「How」しかありません。(HowToだからアタリマエだって・・・。)「Why」がないので、思想や意図を読み取ることはかなり難しくなり、できること、できないことの境界が見えなくなります(見せなくしています)。

これは実は本筋のようで回り道をしているので、よろしくないことではないのかと思うわけです。このはてダを見てる人はどう思われるのかなー。設計書を書くことを生業にしている人も、「どうやって」の部分より、「なぜ」の部分に注力して書いてくださると、世の中もっと平和になるのではないかと思うわけです。