少し分かりにくい話だけど、メソッドを記述から宣言を作成する方法があるみたい。
■宣言と実装の順番を逆に
基本的にソースコードを書く時は「メソッドの宣言」→「メソッドの利用」の順で書くけど、それを「メソッドの利用」→「メソッドの宣言」の順に記述する。この書き方はメソッドの利用が先に書かれるので、実際にメソッドが使いにくいといった事が避けられる他、作るべき範囲が絞れるので無駄な部分を実装する事が減るような気がする。
また単体テストを書くようなコアな部分を記述する際、テストコードからメソッドを生成といったこともできる。(というか、この使い方を想定している気がする)
(左:実装先の利用後 右:利用先の実装後)
ただし同様の実装内容を持つメソッドが複数できてしまうような事がないように注意。
ちなみに、この方法で生成するメソッドはスタブと呼ぶっぽい(VSの似たような機能でそう呼んでた記憶が)
■スタブを作成する
実際にスタブを作成する方法。まずソースコードでメソッドを使用し、[右クリック]→[Refactor]→[Create Method]を選択する。そうするとMonodevelopがメソッドを適当な位置に作成する。メソッドの引数・戻り値は作成の際に自動で設定してくれる。
なお生成直後のメソッドはNotImplementedException(メソッドが実装されてないの意味)を出力する。これで実際に動かした時に未実装とわかる。
実際、慣れないと使いにくいが、トップダウン的に組めるのは便利といえば便利。ボトムアップ設計は油断すると、あらゆる状況に対応できるような「便利だけど無駄なクラス」を作り始めてしまう為、こういったアプローチも面白い。
必要なところに必要な機能を必要な分だけ書く、ということで。