コードの再利用というのは、ファイルのコピー以外にもDLLやらスタティックライブラリやら色々あるようです。元のファイルの亜種を作りたいのであれば、コピー後改良になるのかな。ライブラリというと「ある目的を達成するために用意された機能群」と言えばいいのか知りませんが、ある目的の達成のために利用した場合に、利用しない場合よりもメリットが多い必要があるはず・・・ それが目的であり、再利用ではなく新たに作ることも多いかもしれません。
仮に、「ちょっと違う機能(関数等)を、ライブラリを利用して実装できるようにする」と考えたら、ライブラリは、もう少しいろんなことが安全・簡単に出来るように、例外処理とか、関数のオーバーロード等が必要になることもあるでしょう。でも限度があるはずで・・・
簡単に言うと、
すでに用意されている関数等を用いると得られる純利益<独自に作成した関数等を利用した際に得られる純利益
となりそうな気がする。「純利益 =メリット+デメリット」として。
すでに用意されているものと、独自に作成したものの機能がまったく同一だとして、自分がそれを作れるかというと無理だろうし、作ったところで得られる純利益は限りなく小さいでしょう。作る時間とか考えればなおさら。「この上なく」とまではいかなくとも、多くの既存機能がきっと高い水準のものでしょう。つまり、完全な上位互換とか狙える筈が無いので、範囲を狭める代わりに、速度や必要なコードの量を減らすというトレードオフのようなものが必要じゃないだろうか。きっと極端であればあるほど、特化が可能であるので、状況によっては凄く便利、多分。(これの極端なものがインタプリタ?というものになりそう)
だから、不要な範囲は切り捨てるほうがいい、とは思うけど、何処に境界を引くべきかよく分からない。そもそもこの考え合っているのか・・・ 合っているとしても、具体例は出せそうに無い・・・ 境界丁度よりも、少し広範囲にすべきか。なんにしても、まず再利用できるコードを書けって話ですけど。
ライブラリのトレードオフ(?)
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
Re: ライブラリのトレードオフ(?)
プログラムを組んでいたらリファクタリングすると思いますが、その時によく使いそうな機能のクラスとか関数群ができたらライブラリとして独立させてみても良いんじゃないでしょうか。
Re: ライブラリのトレードオフ(?)
よく使いそうなクラスや関数群ですか。「よく使う」という判断が下せるまでは、普通にやるのが一番ってことですね。とりあえずは手を出さない方針で動きます。