🧠 概要:
概要
この記事では、「SHOPEE自動化システム」の制作におけるフォルダ・ファイル構成について解説しています。特に、コードやファイルの整理が重要である理由や、適切に構造化することで得られるメリットについて述べており、開発の効率性や保守性を高める方法を示しています。
要約
-
問題点の概略:
- 修正したいコードの発見が難しい。
- コードが一つのファイルにまとまると、修正時に他の部分が壊れる可能性。
- テストがしづらくバグを見つけにくくなる。
- 機能追加での場所の迷い。
- チーム開発時に他人が理解できないコード。
- バックアップや再利用が困難。
-
フォルダ・ファイル構成:
src/
: プログラムの実行部分。config/
: 設定ファイルを格納。templates/
: テンプレートファイル。outputs/
: 生成されたデータを保存。utils/
: 補助的なツール。gui/
: UI部分。tests/
: テスト用のコード。.env
とcredentials.json
: 秘密情報を管理。
-
整理の重要性:
- 整理されていないと保守性・可読性が低く、再利用やテストが困難になる。
- 機密情報がうっかり公開されるリスクも増加。
- 次のステップ:
- 次回は「Pythonとスプレッドシートの連携」について進む予定。
-
修正したいコードがどこにあるか見つけるが大変()
-
1つのファイルにまとめてコードを書いた場合、一箇所の修正で他の部分が壊れる可能性有り
-
テストしづらくなって、バグに気づけない
-
修正したいときに、全箇所を修正しないといけなくなる
-
機能追加したくても、どこに書けばいいか迷う
-
チーム開発・外注したときに、他人がコードを理解できない
-
バックアップや再利用が地獄
2.フォルダ・ファイル構成
さっそく、「SHOPEE自動化システム」を作成するのに準備しておきたいフォルダ・ファイルをテキストエディタに作成していきましょう。
フォルダ・ファイルの全体像
project_root/│├── src/ │ ├── generator/ │ │ ├── title_generator.py │ │ ├── description_generator.py │ │ └── prompt_builder.py │ ││ ├── io_handler/ │ │ ├── spreadsheet_reader.py │ │ ├── spreadsheet_writer.py │ │ └── file_loader.py │ ││ ├── template_manager/ │ │ ├── template_loader.py │ │ └── template_updater.py │ ││ └── main.py │├── config/ │ └── settings.yaml │├── templates/ │ └── default_template.txt │├── outputs/ │├── utils/ │ └── logger.py │├── gui/ │ └── app.py │├── tests/ │ └── test_generator.py │├── requirements.txt ├── README.md └── .env
※上記のフォルダ・ファイルに関しては作成途中で追加したりしていきます。
まとめ
フォルダ・ファイル・コードが散らかってると
🚨 **整理されていないプロジェクト構成で起こりうる問題点まとめ** | 項目 | 問題点の例 ||----------------|------------------------------------------------------------------|| 保守性が低い | 修正に時間がかかる・どこを直せばいいかわからずバグが出やすい || 可読性が低い | 自分でも読みづらく、他人はなおさら理解不能 || 再利用できない | 似た処理を他で使いたくても、機能ごとに切り出せてない || テストしづらい | 「ちゃんと動くか?」を検証するのが困難で、毎回手動チェックになる || 危険度が高まる | `.env`や`credentials.json`など、機密情報をうっかりGitに上げやすい |
フォルダ・ファイルの中身を超ざっくり説明
🔰 **フォルダ・ファイルの中身を超ざっくり説明** | 種類 | 中身の説明 ||-------------------------|------------------------------------------------------------------------------|| `src/` | 実際に動く中身のプログラム(タイトル生成・スプレッドシート連携など) || `config/` | 設定ファイル(動作ルールや秘密のカギなど)を入れる場所 || `templates/` | 商品タイトルや説明文の元になる「ひな形」テンプレート || `outputs/` | 生成されたデータを保存するフォルダ(ファイル出力などに使用) || `utils/` | 補助的な便利ツール(ログ出力や共通処理など) || `gui/` | 画面を表示するUI(必要に応じて使う。今は空でもOK) || `tests/` | 「ちゃんと動くか?」を確認するためのテストコード | || `.env / credentials.json` | 絶対に外に出しちゃダメな秘密情報(APIキーやGoogle認証情報など) |
最後まで読んで頂きありがとうございます。
次は「pythonとスプレットシートの連携(製作途中)」に進んで下さい。
Views: 2