長くても分かりやすいほうがいいのか、それともスリムに書くほうがいいのかどっちがいいんでしょう
オレ的には「長くても名前で役割が分かる」方がいいと思うんですが・・・(´・ω・`)
ソースって「他の人にも読みやすく」ってのが大切なことと聞きました。
例えば「プレイヤーと敵キャラとの当たり判定を判定する関数」の名前を
hantei_player_enemy
にしたんですが長すぎませんかね?
という素朴な疑問
関数の名前って
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
Re: 関数の名前って
そのぐらいなら長くないです。
その3倍ぐらいあると単語次第では読み辛くなりますね。
ただ、意味的に「プレイヤーと敵キャラとの当たり判定を判定する関数」とhantei_player_enemyは直感的ではありません。
hit_hantei_player_enemy
とか
is_player_hit_enemy
とか
英文に近づけるとか情報を全部入れた方が良いです。
パッと見に関数が何をするか分かることが重要です。
その3倍ぐらいあると単語次第では読み辛くなりますね。
ただ、意味的に「プレイヤーと敵キャラとの当たり判定を判定する関数」とhantei_player_enemyは直感的ではありません。
hit_hantei_player_enemy
とか
is_player_hit_enemy
とか
英文に近づけるとか情報を全部入れた方が良いです。
パッと見に関数が何をするか分かることが重要です。
Re: 関数の名前って
そういうのは結構悩みますね。
自分の場合はその都度、和英辞典を引きます。語彙も増えますしね。
当たり判定なら"collision(衝突)"です。"hantei"よりは長いかしらん。
上の例なら"collision_enemy_player"ですね(やはり長い・・・)
わざわざ英単語を使うのは、
"hantei"は例えば中国人の人が読んでもさっぱりわからない名前なので避けるべきだと言われているからです。
まあ、個人のプロジェクトで問題が出ることはないでしょうが。
ちなみに自分の場合は2引数をとる関数
bool collision( 物体, 物体 );
を作って
if( collision( Enemy, Player ); )
って使うのが好みです。名前が短くて済むし、他の物体にも使いまわせるので。
自分の場合はその都度、和英辞典を引きます。語彙も増えますしね。
当たり判定なら"collision(衝突)"です。"hantei"よりは長いかしらん。
上の例なら"collision_enemy_player"ですね(やはり長い・・・)
わざわざ英単語を使うのは、
"hantei"は例えば中国人の人が読んでもさっぱりわからない名前なので避けるべきだと言われているからです。
まあ、個人のプロジェクトで問題が出ることはないでしょうが。
ちなみに自分の場合は2引数をとる関数
bool collision( 物体, 物体 );
を作って
if( collision( Enemy, Player ); )
って使うのが好みです。名前が短くて済むし、他の物体にも使いまわせるので。
最後に編集したユーザー ナムアニクラウド on 2010年12月28日(火) 03:28 [ 編集 1 回目 ]
Re: 関数の名前って
<softyaさん
これの三倍は長いですねw
確かにhanteiだけだと何を判定するのか分かりにくいですね(´・ω・`)
<ナムアニクラウドさん
英語か~確かに語彙力もつくと考えればいいですね~
日本人の人が読むことしか考えて無かったですw
世界は広いな~
これの三倍は長いですねw
確かにhanteiだけだと何を判定するのか分かりにくいですね(´・ω・`)
<ナムアニクラウドさん
英語か~確かに語彙力もつくと考えればいいですね~
日本人の人が読むことしか考えて無かったですw
世界は広いな~