質問するログイン新規登録
Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

3回答

4966閲覧

ゲーム開発で頻繁に使われる関数、変数等の名前は何ですか?

zairyoo

総合スコア10

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

2クリップ

投稿2020/04/15 10:35

0

2

###前提
現在、C++を独学で勉強して、将来ゲームプログラマーを目指しています。まだ入門書を読み終わって、「ゲームプログラマになる前に覚えておきたい技術」という本を読み始めたばかりなので、9割初心者の部類です。

###教えて頂きたいこと
その本に書かれているサンプルコードを写経していて気になったことがあるのですが、ゲーム開発のときに頻繁に使われる関数や変数、クラスなどの名前ってどんなものがあるのでしょうか?

例えば、**クリアしたかチェックする関数だったら「checkClear()」**などと書くことがあるでしょうし、他にも色々とあると思います。

頻繁に使われる関数名や変数名を知ってもプログラミングの学習にはほとんど影響しないと思いますが、将来的にチームでゲーム開発をするときに役に立つかもしれないので知りたいです。

###詳細
個人的に使っている名前でも良いので、名前とどんな関数・変数に使うのかを教えて頂けると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

ゲーム開発に限定した質問であればよく知らないですけど、一般論としてプログラミング時の名前付けにおけるベストプラクティスというのは存在します。

例えば質問文にあるようなcheckClear()というのは「クリアをチェックする」という名前になりますが、その関数が返す結果が何で、その値は何を意味するのか、というのが自明ではないため、あまり良い名前だとは思いません。(だいたいcheck××ってのは良くない)

これがgetGameStatus()とかで、戻り値statusclearedとかなら、その名前を見ればすぐわかる、という感じです。

言語やそのチームの文化などで多少の違いはあるとは思いますが、こういう記事もありますし、ネット上には探せば他の記事もいっぱいあると思います。命名についての本も探せば何冊か存在すると思います。


追記

上記の例示が必ずしも正しいというわけではないですし、場合によってはもっと適切な名付けはあると思います。

追加で見つけましたが、こういう記事もあって、これだと上記の例示は正しくない(getは使うなとか)という事になりますが、言語によってはこれは無視できたりもします。

まぁ、どのようなプログラムであってもこういう頻出単語を意識して使うようにするだけでも、ある程度の範囲はカバーはできるとは思います。

投稿2020/04/15 10:49

編集2020/04/15 11:02
gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zairyoo

2020/04/15 11:52

色々な名前の付け方がありますが、やはり感覚的に分かるような名前が多いですね。教えて頂いた記事を活用したいと思います。 あと、「check××」ってあまり良くない名前だったんですね????初めて知りました…。 教えて頂き、ありがとうございました。
gentaro

2020/04/15 14:19

あとプログラミング言語はどうしても英語をベースにしているので、100人の日本人の意見を聞くよりも、英語ネイティブのプログラマがどういう名前付けをしているのかを見た方が、より良い感覚が身につくかもしれません。 今はOSSが普及している良い時代なので、ゲームの分野でもGitHub等で直接ソースが読めるものも沢山あると思います。 ネイティブの感覚を知りたければ、興味があるプロジェクト等を探してみると良いかもしれません。
gentaro

2020/04/15 14:38

まぁいずれにせよ、命名について学ぼうとする姿勢は大変良いと思います。 私の知る限り、「デキる」プログラマはめちゃくちゃ命名に拘ります。関数の名前だけで1、2時間悩むとかザラにあるレベルで。候補ホワイトボードに書いては消してひたすら議論した事もあります。それぐらい拘ります。 というのも、適切な命名ができないということは、問題領域の理解がちゃんとできていないからだと考えているからです。やろうとしている事を正確に理解できているなら、それをストレートに名付け、コードを書くことができるはずです。 適切な名前が付けられれば、その関数のやるべきことが明確になってるはずですし、変な副作用のあるような処理は書けなくなります。(名前とやってる事が矛盾してくるので) 結果的にスッキリした設計になるので、保守性は上がりますし、テストも容易ですし、バグも減ります。 こういう姿勢はチーム開発ではとても重要です。 悲しいかな、その重要性が理解できていない人も沢山いますし、評価してくれない上司もいるかもしれませんが、結果として出来上がったプロダクトの品質が良ければいくらでも評価は覆ります。 なので、これを機会に沢山学び、実践してみてください。
gentaro

2020/04/15 14:54

余談ですが、上記の命名に1,2時間悩んでたプログラマは最速で出世していきました。その年代の通常の昇進ペースより5年は早かった…。 結果として誰より生産性が高い上に製品への理解も深く、誰からも信頼されてましたね…。
zairyoo

2020/04/16 12:09

たしかに基本的に英語なので、ネイティブの方のコードを参考にした方がよりわかりやすくなりますね! C++を学びながら、命令の名前等の知識もつけていきたいと思います。 というか、命名に1、2時間も悩むって凄いですね。それだけこだわって開発をしているということでしょうか。 本当に色々と教えてくださり、ありがとうございました!
guest

0

ゲーム開発固有の命名規則はありません。
むしろ特定の業種でしか通用しないような命名はできるだけ避けるべきですし、一般の命名規則に沿ってコードを書くようにするのが良いと思います。

強いて言えば、Unity などの有名なゲームエンジンのクラス名やメソッド名に合わせておくと、他のゲームプログラマーが読みやすくなるかもしれません。

参考:Unity - スクリプティング API:
https://docs.unity3d.com/ja/460/ScriptReference/

投稿2020/04/16 08:18

nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zairyoo

2020/04/16 12:00

回答ありがとうございます! やっぱり、「この場合はこれを使う!」と固定してしまうのはあまり良くないけれど、一般的な命令規則というものがあるんですね。 教えてくださったUnityの記事も参考にして、色々と学んでいきたいと思います。
guest

0

命名規則やポリシーはゲーム開発やweb開発と言った開発分野によって変わるというよりは
言語やフレームワーク、チームのコーディング規約(及びチームの質)によって変わってきます。

命名規則については(ゲーム開発に限定したものではありませんが、)リーダブルコードが超定番と言える良書なので一度読まれることを強くお勧めします。(大きめの図書館ならあるかもしれませんし、手元に置いて定期的に読み返すのもお勧めです)

投稿2020/04/15 11:38

tanat

総合スコア18778

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zairyoo

2020/04/15 11:45

そんな本があったんですね!今度図書館に行って、置いてあるか調べてみようとおもいます。教えて頂きありがとうございました。
tanat

2020/04/16 08:25

webで検索するなら「命名規則 ベストプラクティス XXX」(XXXには関数、変数、メソッド、言語名などを適宜追加)と言う感じで、色々な考えに触れると良いと思います。 自分なりのルールを作って変数名を決めるようにしておくと、他のルールや考えと比較しやすいので、自分ルールで色々作っておいて後から見直してみるのも良いかもしれません。
zairyoo

2020/04/16 12:11

そんな調べ方があるんですね!他の方のルールも参考にして、C++の学習に取り組んでいきたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問