2011年10月3日月曜日

シンプル・イズ・ベスト

まあ、システム開発においては、常にいわれる言葉だと思います。
ペーパーレスと同じくらいに・・・(^^)

ちなみに、ペーパーレスといわれるようになってから、プリンタの性能も向上し、ツールの利便性も向上したため、逆に、印刷枚数は、増えているという意見もあります。
同じように、シンプルに、といわれていますが、要求される仕様は、ますます複雑になってきていると思います。

前に、「TOCとJIT」でも述べたように、今必要な機能だけを実装する、という考え方も、シンプル・イズ・ベスト につながってきます。

システムは、単純にしておく。さらに、使っていない機能ならば、削除してしまう事も時には必要だと思います。

openGion においても、最初は実装したが、後に不要になったり、使われないと思われる機能は、削除していっています。
(Ver4まで、です。Ver5=正式な、openGionになってからは、簡単に削除できなくなりました。)

さて、このシンプルに保つというのは、結構難しいことです。
私自身がそうですが、あまり考えなくて、実装しているときは、難しいコーディングや複雑なロジックを駆使して対応しているケースが多いです。頭でイメージしてさくさくっと書いているように見えて、実はあまり頭を使っていないということです。
ところが、同じ機能を実現するのに、しっかり考えて、将来的な拡張性を視野に入れつつ、今は使わない状態にするコーディングは、じっくりと考えないと実現できません。しかも、じっくり考えているのですが、ストレートなのです。ここが、重要です。

じっくり考えて、アクロバット的なコーディングや、短いが、判りにくいコーディングにしてしまうと、後でメンテナンスができなくなります。(追加機能の要望があっても、対処できないということです。)

要求仕様にストレートで、かつ、単純で、しかも、じっくりと考えて作られている様なコーディングを、シンプル・イズ・ベスト なコーディングと呼んでいます。

※ 要求仕様にストレート・・・という表現が誤解を招くかもしれませんが、この場合は、要求仕様をストレートなものにしている、といったほうが良いかもしれません。その話は、また、今度ということで。

0 件のコメント:

コメントを投稿