関数の名前って

アバター
BEAT
記事: 4
登録日時: 14年前
住所: 兵庫県S市杜王町
連絡を取る:

関数の名前って

投稿記事 by BEAT » 14年前

長くても分かりやすいほうがいいのか、それともスリムに書くほうがいいのかどっちがいいんでしょう

オレ的には「長くても名前で役割が分かる」方がいいと思うんですが・・・(´・ω・`)
ソースって「他の人にも読みやすく」ってのが大切なことと聞きました。

例えば「プレイヤーと敵キャラとの当たり判定を判定する関数」の名前を

hantei_player_enemy

にしたんですが長すぎませんかね?

という素朴な疑問

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前

Re: 関数の名前って

投稿記事 by softya(ソフト屋) » 14年前

そのぐらいなら長くないです。
その3倍ぐらいあると単語次第では読み辛くなりますね。
ただ、意味的に「プレイヤーと敵キャラとの当たり判定を判定する関数」とhantei_player_enemyは直感的ではありません。
hit_hantei_player_enemy
とか
is_player_hit_enemy
とか
英文に近づけるとか情報を全部入れた方が良いです。
パッと見に関数が何をするか分かることが重要です。

アバター
ナムアニクラウド
記事: 16
登録日時: 15年前

Re: 関数の名前って

投稿記事 by ナムアニクラウド » 14年前

 そういうのは結構悩みますね。
自分の場合はその都度、和英辞典を引きます。語彙も増えますしね。
当たり判定なら"collision(衝突)"です。"hantei"よりは長いかしらん。
上の例なら"collision_enemy_player"ですね(やはり長い・・・)

 わざわざ英単語を使うのは、
"hantei"は例えば中国人の人が読んでもさっぱりわからない名前なので避けるべきだと言われているからです。
まあ、個人のプロジェクトで問題が出ることはないでしょうが。

 ちなみに自分の場合は2引数をとる関数
bool collision( 物体, 物体 );
を作って
if( collision( Enemy, Player ); )
って使うのが好みです。名前が短くて済むし、他の物体にも使いまわせるので。
最後に編集したユーザー ナムアニクラウド on 2010年12月28日(火) 03:28 [ 編集 1 回目 ]

アバター
BEAT
記事: 4
登録日時: 14年前
住所: 兵庫県S市杜王町
連絡を取る:

Re: 関数の名前って

投稿記事 by BEAT » 14年前

<softyaさん
これの三倍は長いですねw
確かにhanteiだけだと何を判定するのか分かりにくいですね(´・ω・`)

<ナムアニクラウドさん
英語か~確かに語彙力もつくと考えればいいですね~
日本人の人が読むことしか考えて無かったですw
世界は広いな~