プラットフォーム構築
プラットフォーム構築にリファクタリングは使える?
よくある質問です。簡単に言うと、答えは「使えます」。リファクタリングは、プラットフォームの構築に大変有用です。ただし、プラットフォームの寿命次第なところがあります。プラットフォームをどのように構築するのかという点に関わってくる部分もあります。
こういった疑問を抱く人たちは、プラットフォームのユーザーは安定したインターフェイスを必要としていると考えており、リファクタリングなど行えるはずはないと思っています。たしかにインターフェイスを変更すると影響は甚大です。私なりの言葉で言うと、プラットフォームは公布済みインターフェイスを備えているのです。公布済みインターフェイスのリファクタリングは面倒です。というのも、そのインターフェイスは既に一般に公開されているため、変更が困難だからです。
これがあまり問題にならないのは、プラットフォームに対して行うリファクタリングはたいてい、公布済みインターフェイスに影響を及ぼさないからです。non-publishedの境界内では、自由にリファクタリングできます。ただ残念なことに、これが公布済みインターフェイスだというふうにマークすることは言語の仕様上できません。そのため、公布済みインターフェイスの部分をきちんとセットアップするという余分な仕事をしなくてはいけません。
プラットフォームのスタイル
リファクタリングの役目は、どのようにフレームワークを構築するかに関わってきます。多くの人々は、基礎型プラットフォームを構築するでしょう。この場合、インターフェイスをできるだけ早くフィックス、公開する必要がります。前述のとおり、これではリファクタリングはあまり役に立ちません。
基礎型プラットフォームが必ずしもベストではありません。この方法でミスった事例を数多く見たことがあるからです。思うに収穫型プラットフォームのほうが良いでしょう。これですと、リファクタリングは最強に役に立ちます。
コメント
- 2004-04-16 (金) 15:05:05 ‘’[[holic]]’’ : “Published Interface” と “published interface”で後者を公開インタフェースくらいにしてしまうと、訳語がすっきりしますかね。”Public Interface” は固有名詞?
- 2004-04-16 (金) 16:00:16 ‘’[[kdmsnr]]’’ : 少し変えてみました。
- 2004-05-08 (土) 00:01:26 ‘’[[名無しさん]]’’ : 「FoundationFrameworkはダメだというわけではありません」には違和感があります。文法(?)的にも話の流れ的にも、「必ずしもベストじゃない(良いわけじゃない)」と言っているような気が。