こちらから
ぷっちん日記(2012-03-05)
こんな感じのエントリがあり、かつちょくちょく言われているのでメモしてみる。
「どうやってその機能を実現するか」を考え始める代わりに、私はまだ存在しないその機能を「呼び出してみる」。
僕はcakephpでコードを書いているので、
class HogesController extends AppController {
....
function hoge() {
...
$this->呼び出す関数();
...
}
}
みたいな感じで、中身よりもまずどのような関数が必要かを考えつつ存在しない関数を呼び出す。
これにより、コードを書く前に以下の事を考えることが出来る
- どこから使うか
- 誰(どのオブジェクト)の仕事にするか
- どんな名前や引数で呼び出すか
この3つは、オブジェクト指向プログラミングにおける基本的かつ重要な設計事項であるため、
ここにまず力を注ぐ。
そういえば達人プログラマに「コードを書く前にまず何をするべきか考えろ」みたいなことが書いてあったような
気がした。