JavaにおけるStruts、RubyのRubyOnRailsのようにシステム開発のフレームワークは数多くあります。
#またその適用レイヤーもさまざまです。
最近のシステム開発では、全てをスクラッチでプログラムするのではなく、なにがしかのフレームワークを使い、それをベースにプログラミングすることが多くなっています。
フレームワークのメリットとしては…
1:(特性や習熟の容易さによりますが)短期間でそれなりのモノを作れる。
2:ルールに則って作るので、誰が(経験の浅い人も含めて)作っても同じようなソースコードになり保守性が高い。
3:用意されている機能を使うので(車輪の再開発をせずに済み)品質が高くなる。
…などがあります。
しかしこの便利なフレームワークのデメリットも当然あります。
「フレームワークのソースコードや思想、アーキテクチャを理解していなくもモノが作れてしまう」という点です。
順調に開発が進んでいる間は良いのですが…例えば、原因不明の挙動に悩まされたり、ちょっと込み入ったことをしたいなぁなどの場合に開発者(※フレームワークの本質を理解していない)から…
開発者:「(そこは)フレームワークがしているので、分かりません(無理です)」
…とか返ってくると、「う~む」と思ってしまいます。
とは言っても、フレームワークの適用メリットはとても大きいので、そういうデメリットをマネジメントしながら対応すればと思います。
※注意:この記事は旧サウスポーなエンジニアの独り言から移行し一部修正したエントリです。
コメント