投稿者 うたひこ  () 投稿日時 2008/9/12 04:57:00
こんにちは。 
 
どのように切り分けるかは、 
そのメソッドやクラスを人に説明することを 
意識しながらコーディングすると、 
適切な切り分けができます。 
 
 
 
例えば、こんな説明を必要とするメソッドがあったとします。 
 
「 
あの人が恋人にプロポーズをして、 
了承を得たので、 
書類にはんこを押して、 
それを役所に届けて、 
式を挙げた。 
」 
 
これは、 
 
1、あの人が恋人にプロポーズをする。 
2、了承を得る。 
3、書類にはんこを押す。 
4、それを役所に届ける。 
5、式を挙げる。 
 
のように区切るとわかりやすいです。 
 
この状態は、 
「5W1Hの要素をひとつだけ含んだ一文で説明できるメソッド」 
と言い換えられます。 
 
また、これらのメソッドがどうしても切り離せない一連の流れであった場合、 
それらを集約した一つの文で言い換えられないかを考えます。 
この例文の場合、 
「あの人が恋人と結婚する」 
で説明できます。 
 
また、例えば 
 
1、プロポーズをする。 
2、事故により記憶喪失、身体不随 
3、伝説の介護士の手により奇跡の生還 
4、式を挙げる。 
 
という状態になった場合、2と3をどうするかを検討します。 
一つの文で現せない場合ものは切り離しの余地があります。 
 
(例えば 
プロポーズ 
話 
式 
=結婚) 
 
僕はオブジェクト指向のオブジェクトを「もの」と訳すのは完全な誤訳だと思っています。 
これは「概念」であり、 
行動であれ状態であれ、すべての概念は単一の意味と対を成すからです。 
 
まぁつまりは「このメソッドを一言で言うと何なんだ?」と問われ、 
一文で答えられない時、それは切り離せるということです。 
5W1Hはわかりやすさの基本です。