牛尾です。
> その「関数」は,ひょっとするとプロジェクトごとや,対象の問題領域ごとに異なるも
> のなのかもしれません.しかし,ソフトウェア開発は,考えうる限り最も難しい「最適
> 値探索問題」の一つなのではないか,と思います.ソフトウェア開発がそんなに単純な
> 「関数形」であるとは思えません.
> 多分,モデリングは多少は必要なんじゃないかなぁ,と予想してます.
>
> Kent Beck 氏のような優れた技術者ならば,モデリングの儀式を明示的に行わなくても,
> 本能的に適切な「初期値(=最初の設計)」を設定できるのかもしれませんけど.
反論とかじゃなくて、私個人の意見ですが、確かに初期モデリングがあれば解に
近づきやすいと思います。私も、簡単にモデルを作ってコーディングしてからリ
ファクタリングを掛けることが多いです。
しかし、そのモデルを作るモデリング力というのはリファクタリングを始めて
やっと身に付けたものです。リファクタリングをやり始める前は設計してても
いまいちなクラスができてたものですが(デザインパターンとかもいまいちどう
あてはめていいかわからなかった)、リファクタリングをやると、正しい?
モデルのにおいがわかってきて、次回からはいきなりこれで造ったらええやん。
というわけで、だんだんリファクタリングが要らんクラスがいきなり作れる
ようになります。また、リファクタリングによって逆にデザインパターンが
実用的な意味で理解できたり、、つまり順番的にはモデルをやるにしても、
リファクタリングでにおいを覚える→デザインパターンの順番の方が絶対にわか
りやすい気がします。