カテゴリー:
コーディング
タグ:
 hoge fuga

このエントリーをはてなブックマークに追加
更新日時:
2013年10月23日(水)
作成日時:
2013年06月20日(木)

前の記事 / 次の記事

誰が使い始めたのかプログラミングの世界ではサンプルコードには
hogeとかfugaとか変数名として 意味を成さない名前 意味が無いという意味を持つ名前
を使うっていう 謎の習慣 何でも抽象化しようとする傾向 がある。

でもhogeとかfugaとか分かりにくくない?
っていうか超分かりにくいから意味のある変数名使おうよ、
俺はもうhogeとかfugaとか見たくないよ、foo, bar, bazも嫌いだよっていう話。

例えばRailsでモデルを生成して使うサンプルコードで、
hoge,fugaを使って書いた場合と意味のある変数名を使って書いた場合。

hoge, fuga

# モデルの生成
$ rails g model hoge fuga:string moge:string

# モデルとDBテーブルを作成するためのコードが生まれる
$ app/models/hoge.rb
$ db/migrate/20130620123456_create_hoges.rb

# DBテーブルが作成される
$ rake db:migrate

# Rails のコード中で次のように使えるようになる。
hoge = Hoge.new(:fuga => "fugafuga", :moge => "mogemoge")
hoge.fuga  #=> fugafuga
hoge.moge  #=> mogemoge
hoge.save

hoge = Hoge.find_by_fuga("fugafuga") 
hoge.moge #=> mogemoge

意味のある変数名

# モデルの生成
$ rails g model book name:string author:string

# モデルとDBテーブルを作成するためのコードが生まれる
$ app/models/book.rb
$ db/migrate/20130620123456_create_books.rb

# DBテーブルが作成される
$ rake db:migrate

# Rails のコード中で次のように使えるようになる。
book = Book.new(:name => "夜のピクニック", :author => "恩田陸")
book.name   #=> 夜のピクニック
book.author #=> 恩田陸
book.save

book = Book.find_by_name("夜のピクニック") 
book.author #=> 恩田陸

みたいになるけど、変数名に意味がないと超分かりにくい。
という訳でhogeとかfugaとかもうやめにしない?