- 152 名前:デフォルトの名無しさん mailto:sage [04/01/25 16:12]
- >>149
Refactoringは元々Smalltalkerの流儀から来ている。 Smalltalkはオブジェクトを生かしたまま(つまりプログラムの実行中に) クラス定義を変更したりメソッドを書き変えたりできるから、 まずは何かとりあえず動くオブジェクトを作ってみて、 動かしながら変数をいじったりメソッドを変更していく流儀が前提にあって、 その中から使用頻度が高く機械的にできる変更のパターンをまとめたのが Refactoring。 別の言い方をすれば、Refactoringは変更し難い言語で変更を容易にするものではなく 元々どうにでも変更しやすい言語で、変更の仕方を分類整理して名前をつけて、 初心者への教育とか、プログラマ間のコミュニケーションを改善するものだと思う。 だから、変更のし難さというのはクラスベースだからというわけではなく、 むしろ静的型の弊害であり、かつ、クラスをそのまま型として使うことの弊害だと思う。 つまり、クラスの内部設計(インスタンス生成機構)をクラスの外部仕様(型)と 同一視したことによる縛り。
|

|