コンテンツにスキップ
🎉 Welcome! This is a banner message.

ファイル組織構造ドキュメント

Note

本文はAIによって生成されたものであり、誤りや不完全な部分が含まれている可能性があります。

このドキュメントでは、DesktopDanmakuプロジェクトのファイル組織構造について説明します。開発者がプロジェクトの全体的なアーキテクチャと各ファイルの機能を理解するのに役立ちます。

プロジェクトルートディレクトリ

DesktopDanmaku/
├── .vscode/            # VS Code 設定ファイル
├── docs/              # プロジェクトドキュメント
├── include/           # ヘッダーファイルディレクトリ
├── src/               # ソースファイルディレクトリ
├── .gitignore         # Git 無視ファイル設定
├── LICENSE            # ライセンスファイル
├── README.MD          # プロジェクト説明ファイル
├── installer.iss      # Inno Setup インストールスクリプト
└── makefile           # コンパイル設定ファイル

ディレクトリの詳細

1. .vscode/

VS Codeエディタの設定ファイルディレクトリで、プロジェクト固有のエディタ設定が含まれています。

2. docs/

プロジェクトドキュメントディレクトリで、様々なプロジェクト関連のドキュメントが保存されています。

  • makefileHelper.txt - makefile 補助説明ファイル
  • file-structure.md - このファイル、プロジェクトファイル組織構造ドキュメント

3. include/

ヘッダーファイルディレクトリで、プロジェクトのすべてのヘッダーファイルが機能モジュール別に分類されて保存されています。

3.1 include/danmaku/

弾幕関連のヘッダーファイル。

  • dmkitem.hpp - 弾幕アイテムの定義と関連操作

3.2 include/functions/

汎用機能関数のヘッダーファイル。

  • files.hpp - ファイル操作関連関数
  • others.hpp - その他の補助関数
  • randnum.hpp - 乱数生成関連関数

3.3 include/windows/

ウィンドウ関連のヘッダーファイル。

  • base.hpp - ウィンドウ基本定義
  • elements.hpp - ウィンドウ要素定義
  • extraElementInfo.hpp - 追加要素情報定義
  • font.hpp - フォント関連定義
  • main.hpp - メインウィンドウ定義
  • overlay.hpp - オーバーレイウィンドウ定義

3.4 ルートヘッダーファイル

  • debug.hpp - デバッグ関連定義
  • main.hpp - メインプログラムエントリ関連定義

4. src/

ソースファイルディレクトリで、プロジェクトのすべてのソースファイルがinclude/ディレクトリ構造に対応して保存されています。

4.1 src/danmaku/

弾幕関連のソースファイル。

  • dmkitem.cpp - 弾幕アイテムの実装

4.2 src/functions/

汎用機能関数のソースファイル。

  • files.cpp - ファイル操作関連関数の実装
  • others.cpp - その他の補助関数の実装
  • randnum.cpp - 乱数生成関連関数の実装

4.3 src/windows/

ウィンドウ関連のソースファイル。

  • elementID.cpp - 要素ID管理の実装
  • elements.cpp - ウィンドウ要素の実装
  • main.cpp - メインウィンドウの実装
  • overlay.cpp - オーバーレイウィンドウの実装

4.4 ルートソースファイル

  • debug.cpp - デバッグ関連機能の実装
  • desktopDanmaku.exe.manifest - アプリケーションマニフェストファイル
  • list.rc - リソースファイル
  • main.cpp - メインプログラムエントリの実装

ファイル機能説明

コアファイル

ファイルパス機能説明
src/main.cppメインプログラムエントリで、アプリケーションの初期化と起動を担当
include/main.hppメインプログラムエントリ関連定義
include/debug.hppデバッグ関連定義とマクロ
src/debug.cppデバッグ機能の実装

弾幕システム

ファイルパス機能説明
include/danmaku/dmkitem.hpp弾幕アイテムの定義と関連操作
src/danmaku/dmkitem.cpp弾幕アイテムの実装

ウィンドウシステム

ファイルパス機能説明
include/windows/base.hppウィンドウ基本定義と一般的なウィンドウ操作
include/windows/main.hppメインウィンドウ定義
include/windows/overlay.hppオーバーレイウィンドウ定義(弾幕表示用)
include/windows/elements.hppウィンドウ要素定義(ボタン、テキストボックスなど)
include/windows/extraElementInfo.hpp追加要素情報定義
include/windows/font.hppフォント関連定義と操作
src/windows/main.cppメインウィンドウの実装
src/windows/overlay.cppオーバーレイウィンドウの実装
src/windows/elements.cppウィンドウ要素の実装
src/windows/elementID.cpp要素ID管理の実装

ユーティリティ関数

ファイルパス機能説明
include/functions/files.hppファイル操作関連関数(設定ファイルの読み込みなど)
include/functions/others.hppその他の補助関数
include/functions/randnum.hpp乱数生成関連関数
src/functions/files.cppファイル操作関連関数の実装
src/functions/others.cppその他の補助関数の実装
src/functions/randnum.cpp乱数生成関連関数の実装

設定とビルドファイル

ファイルパス機能説明
makefileコンパイル設定ファイルで、コンパイルルールとターゲットを定義
installer.issInno Setup インストールスクリプトで、インストールパッケージの生成に使用
.gitignoreGit 無視ファイル設定で、バージョン管理が不要なファイルを指定
LICENSEライセンスファイルで、プロジェクトのオープンソース契約を定義
README.MDプロジェクト説明ファイルで、プロジェクトの紹介、機能リスト、ビルド手順が含まれています

コード組織構造

プロジェクトはモジュール設計を採用しており、コードの組織構造が明確です:

  1. 階層構造:ヘッダーファイルとソースファイルを分離し、それぞれinclude/とsrc/ディレクトリに格納
  2. 機能モジュール化:コードを機能に応じて複数のモジュールに分割し、弾幕モジュール、ウィンドウモジュール、ユーティリティ関数モジュールなどに分類
  3. 命名規則:ファイルとディレクトリの命名が明確で、その機能と用途を反映しています

開発のサポート

  1. 新しいファイル:新機能を追加する場合は、既存のディレクトリ構造に従って、新しいファイルを適切なディレクトリに配置してください
  2. コードスタイル:既存のコードスタイルとの一貫性を維持し、コードの可読性を確保してください
  3. ドキュメントの更新:ファイル構造を変更したり新しいファイルを追加したりした場合は、このドキュメントを適時更新してください

プロジェクトの技術スタック

  • 開発言語:C++17
  • プラットフォーム:Windows
  • 技術:win32 API, GDI+
  • ビルドツール:GNU Make
  • 開発環境:MSYS2 (MingGW64), VS Code

このドキュメントは開発者がプロジェクトのファイル組織構造を迅速に理解するのを助けることを目的としています。質問や提案がある場合は、プロジェクトのメンテナにお問い合わせください。