質問: こんにちは。 プログラミングにおいて、クラスや関数、変数の命名は重要な要素です。 私は個人でゲームアプリ開発をしていて、プログラミングの経験はあまり多くはなく、オブジェクト指向の恩恵を強く感じた事は無いです。 自分で作って自分で見直したり修正をするだけですが、それでもある程度はグローバルな命名ルールを下に設計・命名した方が、後々良いと考えて質問させていただきます。 私がプログラミングや設計(オブジェクト指向言語)をしている時に、命名で迷うのは2パターンあります。 **(1):◯◯Managerや◯◯Controllerなど** この2つは、どちらか片方だけにするべきなのでしょうか? 個人的には、ゲーム開発において特定のキャラクターの振る舞いを表すクラスは、ManagerではなくControllerにしています。特に、座標移動をする場合はマネージメントというよりコントロールだと思うからです。 オブジェクト指向的に分割しすぎるのは可読性の低下を招くので良くないというのは間違った考えでしょうか? オブジェクト指向に適した設計をしていけば、ManagerクラスやControllerクラスは良くないという話は聞いた事があります。絶対神のクラスとまでは行かずとも、八百万の一柱くらいになるのは確かだと思います。 しかし、せっかくの高水準言語なのですから、人間の認知に近い・人間にとってイメージしやすいクラス分割をする方が、可読性が良くなるのではないでしょうか? **(2):上記(1)の◯◯の部分や関数名** 単に英語力の問題に近いかもしれません。 しかし、例えばStateのように、この世界の用語を使ったりしてフレームワーク的(パターン的)な意味合いを込めて命名することも多いと思います。 みなさんはこの辺どうしているのでしょうか。積み重ねた経験でしょうか? みなさんの考えをお聞かせください。 また、参考にされている書籍やWebサイト等ございましたら、紹介していただけると嬉しいです。 よろしくお願いいたします。
回答: 理想論を挙げても空論になるので、 まずは、出来る事から、 例えば、 数カ月~数年前の自作コードを見てみる、 ⇒理解出来ない。追えない。なら、改善すべき点があるのでは? 代理検索 コード規約 初心者 https://www.google.co.jp/search?hl=ja&q=%E3%82%B3%E3%83%BC%E3%83%89%E8%A6%8F%E7%B4%84%E3%80%80%E5%88%9D%E5%BF%83%E8%80%85&lr=lang_ja&gws_rd=ssl コード規約 MVC https://www.google.co.jp/search?hl=ja&q=%E3%82%B3%E3%83%BC%E3%83%89%E8%A6%8F%E7%B4%84%E3%80%80%E5%88%9D%E5%BF%83%E8%80%85&lr=lang_ja&gws_rd=ssl#lr=lang_ja&hl=ja&tbs=lr:lang_1ja&q=%E3%82%B3%E3%83%BC%E3%83%89%E8%A6%8F%E7%B4%84%E3%80%80MVC