プログラミング全般
名付け方法
オブジェクト、変数
オブジェクトや変数の名前のつけ方は結構単純だと思う。
それが何であるかを表現する名前を付ければ良い。
- モノ(主にデータ型:CTFont,)
- 役割・役職・役目(デザインパターン等:CTManager,AppDelegate)
- 変数に何が入っているかを的確に表し、潜在的なバグを減らす方法(text_or_nil,array_or_empty)
text_or_nil:テキストが入っているか、テキストで無いならばnilが入っていることを連想させる。
text:
関数、メソッド
関数名やメソッド名は、単純にこれと言った規則が無い。
厳密には、規則が無いのではなくて、特定の規則が用いられているが、
意識して統一しないとゴチャ混ぜになってしまうことが多い。
人それぞれという感じもあるし、今のところ自分では
どうコントロールしているのかがまだわかっていない。
- タイミング(Applecation.launch,touchesBegan,touchesEnded,touchesMoved):主体+タイミング
- 動作(openMenu):動作+対象
- 結果(selectOptions)
などがある。
- タイミング・順序・出来事(主にフロー、イベント)
- 変化・動作(主に表示)
- 結果・成果(主にデータの変更)などがある。
どういうパターンが考えられるかというと、
例えば、アプリケーション(ウィンドウ、ビュー)で、クリックされた時に
メニューを開き、4つの選択肢から、ひとつ選んでもらって、選んだものを返す場合、
タイミングにそのまま記述して行く人、(appClicked,winClicked,viewClicked)
開始する動作で名付ける人、(openMenu)
結果で名付ける人、(selectOptions)
といった名付けがされる場合がある。
class Application
def clicked
selected = menu.open_menu_and_select_options
end
def open_menu
selected_option
end
end
class Application
def clicked
selected = open_menu
end
def open_menu
selected_option
end
end
class Application
def clicked
selected = select_option
end
def select_option
menu_open
selected_option
end
end
プログラムの見通し的な立場に立つと、
clicked_and_open_menu_and_select_option
長ったらしい感じ(×)はするが、いちいち内部まで見たくない時に便利(◯)
プログラムの変更などのフレキシビリティ重視の立場に立つと
def clicked
open_menu_and_select_option
end
def open_menu_and_select_option
end
def clicked
select_option_with_open_menu
end
def select_option_with_open_menu
end
と、書いた方が、メニューを開いて選択を返す動作が、
他のタイミングに移る時に手間が掛からない。
要するに、その時々で重視したいやり方を適切に選びなさい、(>_<)
ということなんでしょうけど。
分割し過ぎで見通しが悪くなりすぎたら、一旦まとめてみる、(-_-)(-_-) -> ( - _ - )
まとめて多くを書き過ぎて、一旦分割してみる、( - _ - ) -> (-_-)(-_-)
場合によっては、両方の書き方を用意しておいて
いつでも切り替えができるようにしておく、というのもありかもしれない。
両方の書き方をしたら、その分管理のコストがかかりそうだけど(^-^;)
一つの解決法として、日本語(などの母国語)でプログラムを書いてみて、
その単位毎にメソッド化・関数化していくのが適当なのかもしれない。
最終更新:2010年07月12日 12:09