実現したいこと
pythonでmodule単位でコードを分けようとした時、自分の中でわかりやすい名前をつけようとすると、module名とclass名が被ってしまいます。
こういう時、どのように考えれば分かりやすい(あるいはセオリー通りな)のか考え方を知りたいです。
前提
情報系の学生で、フレームワークなどを使うというよりは自分で1からコードを書くことが多いです。
また周囲にpythonについてよく知っている人もおらず、自分でググっては改善するを繰り返しています。
具体的な事例
例えば、簡易的なインベーダーゲームのようなものを作ったとします。(フィールドには自機、敵機、弾のみ)
その時、自分は「盤面のオブジェクトの位置情報を管理するmodule」と「自機module」「敵機module」「弾module」に分けてコーディングしたくなります。
この時、敵機を"enemy.py"に"class Enemy"と命名してしまいます。
すると、番面のmoduleで敵機を使いたい時に、"E = enemy.Enemy()"のように呼び出すことになるのですが、本当にこのやり方、あるいは命名方法で正解なのか自信が持てていません。
「enemy.Enemy()」とenemyという単語を繰り返すのも不自然な感じがしますし、classと関数だと関数名を動詞的に命名すると「Enemy.fire_bullet()」のような形で読みやすくなるなど聞いたことがあるのですが、moduleとclassではそのような約束事があるのか気になります。
割とニッチな悩みなのか検索してもいいアイディアが出てこず、ぜひ本職の方で色々知見をお持ちの方にアドバイス頂きたいです。
よろしくお願いいたします。

回答3件
あなたの回答
tips
プレビュー