- オブジェクト指向の活用方法を教えて下さい
137 :デフォルトの名無しさん[sage]:2014/03/30(日) 02:19:44.18 ID:3Fl9YNZ5 - 数珠つなぎのメソッドチェーンを呼び出して何をするのかと思ったら、単に変数
に値を代入(または取得)して終わり、みたいのをよく見かけます。途中に現れる メソッド名を見ても必然性を感じません。その階層で何をするでもないのです。 そういう場合はただの変数の代入に書き換えます。 (ついでなので)変数の名前はその目的が分かる名前に直します。 まるでオブジェクト指向の本質は多重のメソッド呼び出しだ、と言わんばかりな のです。自分はそんなことより、単なる変数・関数であったとしても命名を重視 したいです。 規模の大きいソフトウェアの場合、名前をグルーピングして、階層を持たせて命 名することに異論はありません。でもそもそもそんなに大きいソフトウェアを 作っているわけではないんです。 世界にひとつだけの名前にして衝突を未然に防ぎたい、ということでしょうか?
|
- オブジェクト指向の活用方法を教えて下さい
138 :デフォルトの名無しさん[sage]:2014/03/30(日) 02:26:07.76 ID:3Fl9YNZ5 - 同じことがメソッド呼び出しにも言えます。チェーンしているメソッドがそれぞ
れ何を意味しているのか分かりづらい上、記述の順序と実行の順序が異なるので す。 例えば文章において、姓名は「姓」と「名」を近くに記述することで「姓名」と なって、ひとりの人を表わすことができます。日付の「年」「月」「日」も電話 番号の「市外局番」「市内局番」「加入者番号」も同様です。これらをばらばら に離して記述すると読み解くのに苦労することでしょう。 記述の順序が実行の順序と一致しないというのは、そういう状況に似ています。 ソースプログラムがまるでなぞなぞのようになってしまうのです。 実行順序が隣り合っているものは隣り合わせて記述すると分かりやすいプログラ ムになります。修正も簡単です。テキストエディタやgrepが強力なプログラミン グツールになります。
|
- オブジェクト指向の活用方法を教えて下さい
157 :デフォルトの名無しさん[sage]:2014/03/30(日) 13:27:57.55 ID:3Fl9YNZ5 - >>141
>シェルスクリプトで言えば >cat var | foo | bar | baz というのを このとき、foo や bar が何もしないプログラムであっても baz の前に入れることに 意味はありますか?関数型で組む場合は、何もしない関数 foo(), bar() を挟み込む 発想になったことがありません。必要になったとき、何かをしたくなったとき、その ときに追加しています。
|
- オブジェクト指向の活用方法を教えて下さい
176 :デフォルトの名無しさん[sage]:2014/03/30(日) 18:01:52.30 ID:3Fl9YNZ5 - >>160 具体例は公開できないので申し訳ない
その1. メソッド名が訳の分かる名前ならば、その中身を心配して見にいく必要はない ⇒ これはレスや参考図書がよく使う 'foo' だの 'bar' だののレベルの名前を開発 しているプログラムに使っていることが問題なのだと思う その2. 場合によっては改名するつもりで中身を見にいくと、なんでこれを括りだしたの? という疑問が発生(もとから括り出す必要はなくて、名前も要らないんじゃないの?) ⇒ メソッドの中身をメインルーチンにコピペして解決!! オブジェクト指向の話がいつの間にかコピペの話に... オブジェクト指向って、どんな場合に役に立つのか、また活用方法を知りたい のです あるいはオブジェクト指向があるから常に使わなければならない、という考えは 間違いで、使うか使わないかは便利か便利じゃないか、解決しようとしている 問題や環境・状況に合わせて、判断すればいいものなのか? そのとき、判断材料には本人や周りのひとのスキルを含めなくていいのか? 人のスキルに関係なく、いつでも・絶対にオブジェクト指向が有利なのか? メソッド呼びさえしていればオブジェクト指向なので後ろ指さされることは ないものなのか?
|