メソッドの作り方

単純に手順化してみる


(1) 動きを決める
 ・どんなデータが対象で、どんな結果を得られるとうれしいかってのをなんとなくでいいから決める
 ・役割を決めるってこったな

(2) まずは動くものつくる
 ・(1)を実現することが大事

(3) (2)を見直す
 ・実現方法は果たしてこれでよかったのか
 ・もっとナイスでクールでスマートな実装方法とかないのか

(4) 実行して結果確認を行う
 ・(3)(4)は必要なだけ繰り返す

(5) 最後に仕上げを行う
 ・行数が多ければ分割する → (3)へ戻る
 ・コメントをキッチリ書く。および手直ししていたら現在とあっているか確認する
 ・機能実現のために必要なメソッドがてんこもりになっていたとしたらクラス化も考える

(2)で止まっている人たちって結構多いやんね。
っつか(3)以降の手順を踏襲する人たちが珍しい気もする。
仕事が正確かつ早いのは後者なんだがな。


増えていくメソッドと増えていくクラスに萎える人たちがいる。
だからといって巨大なメソッドに巨大なクラスを作られたりするともっと萎える。
前者はIDEと役割分担によってなんとかなるが、後者は作り変えるくらいどうしようもないからだ。


っとはいうものの。
そういや昔似たようなエントリ書いてた
  コメントなっしんぐなソースの作り方
  http://d.hatena.ne.jp/tonotonotono/20061008

「役割」の決め方

何事も現状を踏襲せずに考えるほうがスッキリする。


(1) 「何」が「どう」なればいいかを決める
 ・何をどうすれば
 ・何がどうなると
 ・あれこれをこうする
 ・あれがこんなようになる
  とかいろいろあるけれどもまず決める
 
(2) (1)を実現するための手順を考える
 ・データとってきてー
 ・加工してー
 ・表示するー
  っとすると3手順

(3) (2)そのものが役割。
 ・その手順どおりにメソッドつくれぃ
 ・細分化するならメソッドの中でさらに細分化したメソッドをよべぃ
 ・役割分担していて、細分化が必然ならわかりにくいことなどない

役割決めるのも、手順を考えるのも、
なまじ知識が付いたり、業務を知っていたりする人ほど下手だ。
データや処理のやりくりをしようとしはじめるからだ。


ハマり道への第一歩はこんな考えから↓。
 「今がこうなっているからこうすれば結果が合う(・∀・)」


小手先で辻褄あわせするのは100%ダメとはいわないが、
小手先は小手先なので続ければ歪む。
歪まないように随時修正を行うのが堅実な道。
あるべき形をもとにあるべき姿を作るんですよ。


情報処理なんてとあるデータを集計したり加工したりするだけなんだから、
余計なことさえしなきゃ結果がおかしいなんてありえないんだもん。