無気力生活 (ノ ´ω`)ノ ~゜

脱力系エンジニア。てきとーに生きてます。

【開発】独自フレームワークを作るか否か

わんくま同盟さんとこで見つけた気になるエントリー
http://blogs.wankuma.com/kox/archive/2009/06/01/173960.aspx

うちの会社にも社内フレームワークみたいなのがあったような気がしますが、使っている人はほとんどいません。(言語がCだからとかそんな理由もありますが)
自分は全然みたことねーwあったの?的な気持ちにww
会社内で作ったフレームワークっていうのは、いろんな方の言われている通りあんまりいい結果になりませんね。
言語の違いもありますし、常に最新にメンテするコストも馬鹿にならんですし。

ただ、プロジェクトごとにフレームワークを作成することは必要だと思います。
フレームワークの利用者のスキル有る無しに関わらず、全体的に統一された処理で実装できちゃうし、共通する処理をフレームワークにすることで、仕様変更によるリファクタリングも容易になります。
全体としてシステムの堅牢性と仕様変更による柔軟性は高くなります。
言語の違いについてはプロジェクトと同様の言語でフレームワーク組めばいいだけですし、メンテに関してもシステムの障害対応時や機能追加時にやればいいだけの話で、常に最新の状態に保つ必要性は無いわけです。

もちろん、フレームワークを作成する人に高いスキルが要求されるのは当然のことです。中途半端に作られたフレームワークは害悪にしかなりえません。
メソッドのネーミングが動作と違ったり、必要以上に引数渡していたり、オーバーロードがたくさんあったり、無駄に回りくどいやり方でリソース多めに食う実装とかね。
しっかり仕様を固めた上で、シンプルに、分かりやすく使いやすいものを作る。
でも、コレが本当に難しい。以前、自分でフレームワーク組んだことありますが、設計がまずかったせいかグダングダンになった記憶しかない・・・(´;ω;`)