web-dev-qa-db-ja.com

ディレクトリ内のファイルをグループ化するためのモジュールの命名と基準に関するヒント

私のペットプロジェクトには、アセットローダーと描画タスクという2つの抽象概念があるようです。抽象化ごとに、それらを表すいくつかのクラス(現在は、タスクの抽象化とアセットローダーの新しいクラスを返すファクトリを描画するための単一のクラス)、ストア(以前はマネージャー)がありますが、 "Manager "ネーミングの単語)と他のいくつかのヘルパー(デコレータなど)。これらすべてをプロジェクト構造に組み込む方法を考えています。私がプロジェクトを始めたとき、抽象化自体のためのフォルダー、店舗のための別のフォルダー、そしてヘルパーのための別のフォルダーがありました。現在、私は、この2つのシステムは実際には並列であるため、個別に開発する必要があることに気付きました。そこで、それぞれにフォルダーを作成することにしました。

だから私が興味深いのは:

  • ファイルをディレクトリに分割する方法:
    • 使用によって
    • 抽象化により、彼らは
    • 言語構成タイプ(クラス、関数など)
    • 他の何か
  • それらにどのように名前を付けますか:
    • グループであることを表すいくつかの単語を使用します(つまり、assetLoadersSystem、assetLoadersUtils ...)
    • あなたはそれを主な概念として名前を付けます(同じファイルを含むassetLoadersディレクトリだけ)

読めるところはありますか?変数の命名に関するヒントについては、「クリーンコード」と「コード完了」に興味深い章がいくつかありました。私の問題にはそのようなものはありますか?

1

最初は複雑なディレクトリ構造を避けようとしています。特定の理由なしにディレクトリ間でファイルを配布することには、特別な利点はありませんが、いくつかの欠点があります。すべてのファイルが同じモジュールに属している場合は、同じディレクトリに保存します。これが非常に多くのファイルを含むディレクトリにつながる場合、その一般的なファイルシステムに問題(たとえば、パフォーマンスの問題)が発生する可能性があります。その場合、モジュールは明らかに大きすぎ、これを最初に修正する必要があります。

ただし、大きくて複雑なモジュールを複数のサブモジュールに分割することが理にかなっている場合もあります。これらが公開されていない場合でも(すべてが単一のモジュールとして配布される可能性があります)、各サブモジュールは独自のディレクトリを取得するため、いつの日か別のモジュールを簡単に作成できます。これにより、質問が「ファイルをディレクトリに分割する方法」から「モジュールをサブモジュールに分割する方法」に変わります。後でその質問に対する答えをすでに見つけました。個人的には、機能ごとにモジュールを分割することを好みます。

命名については、ディレクトリがモジュールまたはサブモジュールのファイルをグループ化する場合、モジュールまたはサブモジュールと同じ名前を付ける必要があります。

1
Mecki